<SEC-DOCUMENT>0001410578-24-001590.txt : 20240913
<SEC-HEADER>0001410578-24-001590.hdr.sgml : 20240913
<ACCEPTANCE-DATETIME>20240913170905
ACCESSION NUMBER:		0001410578-24-001590
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		93
CONFORMED PERIOD OF REPORT:	20240331
FILED AS OF DATE:		20240913
DATE AS OF CHANGE:		20240913

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TECHPRECISION CORP
		CENTRAL INDEX KEY:			0001328792
		STANDARD INDUSTRIAL CLASSIFICATION:	FABRICATED STRUCTURAL METAL PRODUCTS [3440]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				000000000
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			0331

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-41698
		FILM NUMBER:		241298541

	BUSINESS ADDRESS:	
		STREET 1:		1 BELLA DRIVE
		CITY:			WESTMINSTER
		STATE:			MA
		ZIP:			01473
		BUSINESS PHONE:		978-874-0591

	MAIL ADDRESS:	
		STREET 1:		1 BELLA DRIVE
		CITY:			WESTMINSTER
		STATE:			MA
		ZIP:			01473

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	Techprecision CORP
		DATE OF NAME CHANGE:	20060309

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	LOUNSBERRY HOLDINGS II INC
		DATE OF NAME CHANGE:	20050531
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>tpcs-20240331x10k.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!-- iXBRL document created with: Toppan Merrill Bridge iXBRL 10.7.0.1 -->
<!-- Based on: iXBRL 1.1 -->
<!-- Created on: 9/13/2024 8:59:32 PM -->
<!-- iXBRL Library version: 1.0.8923.15446 -->
<!-- iXBRL Service Job ID: 582b9c47-839c-4e13-ae94-99f8a04841b5 -->
<html xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tpcs="http://www.tech.pre.com/20240331" 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/2024" 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/2024" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" 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_KuHf3kzNhEuHp3gUMCBsoQ" xs:nil="true" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" name="us-gaap:CommitmentsAndContingencies" id="Hidden_ntBtN72zIEKTqa70Y7NT6A"/><ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" xs:nil="true" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" name="us-gaap:CommitmentsAndContingencies" id="Hidden_sT_OOh6npki8EM78ogecwg"/><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityCentralIndexKey" id="Tc_iuqy43SfIUeNBV0Hr5H6dw_2_1">0001328792</ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:DocumentFiscalPeriodFocus" id="Tc_DxOKqvC4Qk2lYhTuQsuybQ_5_1">FY</ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:AmendmentFlag" id="Tc_3NdXD7Hc40yzfgWPQCTcfg_6_1">false</ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityRegistrantName" id="Hidden_930oC81QGUuhzV5cAXP6uw">TECHPRECISION CORP</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" name="us-gaap:CommonStockSharesIssued" id="Hidden_qWNwwZ4WtUWOlw0joiQ_vQ">8777432</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_Fdg6ii3AE0mnWR9sRv1afw">8613408</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_2_23_2023_To_2_23_2023_9_mImzpPeECOLpgGHl0mpQ" decimals="2" name="us-gaap:StockholdersEquityNoteStockSplitConversionRatio1" id="Hidden_EXe3YM4Mu0qaxLIQ7lbOKA">0.25</ix:nonFraction><ix:nonNumeric contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_OAui2hxb80KfTBf1QiFlOA" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Hidden_1sVous34DUSzD1snjPTZvg">P3M</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_YFVOthIEbE-tU32NBvPkig" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Hidden_FkHvfCt8KUec6QpcTBke7Q">P36M</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_YFVOthIEbE-tU32NBvPkig" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Hidden_nj5CQYlOek-k-FS5J1V5jQ">P36M</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_2_23_2023_To_2_23_2023_9_mImzpPeECOLpgGHl0mpQ" decimals="2" name="us-gaap:StockholdersEquityNoteStockSplitConversionRatio1" id="Hidden_lpmwKBw8EUC6iReXMuMNUQ">0.25</ix:nonFraction><ix:nonNumeric contextRef="Duration_8_25_2021_To_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_bf0Rjfw5KEGgs6KMDBRIBA" name="us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" id="Hidden_H1Ocu3HIa0-swMnW6HtfhQ">http://www.tech.pre.com/20240331#FederalHomeLoanBankOfBostonClassicAdvanceRateMember</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="tpcs-20240331.xsd"/></ix:references><ix:resources><xbrli:context id="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_fY2wuCp72k-Cyw1M2FUPaA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt2.25InterestDueAugust2028Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_xHaQYaNjC0GLjsokTPYnkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt2.25InterestDueAugust2028Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_2_23_2023_To_2_23_2023_9_mImzpPeECOLpgGHl0mpQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-23</xbrli:startDate><xbrli:endDate>2023-02-23</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_WdssD4RQXkOr5lRCuDUwOw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eR7MOPsa3kiPRjFPWmFMCg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Ey_sgK2tPkWln0P7Rh0HKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_cHXiB6Prs0W_8I4EkWArWQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_FGcbh8UaDkuh-5cpHm4bjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_T33AawPJtkSnc7o03gvbxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_-5IntPUmBUuRmTldx4KY_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7IxXPn1wokKqIKvOFZLy3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_mb_BWrabQkOpeAQHDt0JJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_uacHwKDVKEaVBeA9L9nAWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">tpcs:RangeTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_il9ZNg-NzUebzWjMTdVJSA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">tpcs:RangeOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_vlXSz1WzLEydeqkUckxJAw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">tpcs:RangeTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_eWKkRQYpMke4qRBOTN7OHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">tpcs:RangeOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_8_3_2023_To_8_3_2023_Upw42tLjN0W25ixTgHbflQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-03</xbrli:startDate><xbrli:endDate>2023-08-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2021_To_3_31_2022_yF3xLaISN0Opo5lCslgz5A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_VqxuUHz_IEG-hpEWOambRQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tpcs:EquityIncentivePlan2016Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_10_11_2023_To_10_11_2023_us-gaap_AwardTypeAxis_tpcs_ServiceBasedRestrictedStockOneMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_PC5bcvUIMEmgn6tLs-agmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tpcs:ServiceBasedRestrictedStockOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tpcs:EquityIncentivePlan2016Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-11</xbrli:startDate><xbrli:endDate>2023-10-11</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_kC6wq9-J1ECe4fACbPlMoA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesMember_y1voELxO9E6LF4V-MnTg_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_4DHc1wrauEC45VPNRB37KA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_OAui2hxb80KfTBf1QiFlOA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_YFVOthIEbE-tU32NBvPkig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_Ds0WxFAebEKqid7xvKze9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_Vr3ivxaCik-leVjXGyttfA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_IndustrialMember_0g0nyb43gUepG6bI-XquHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:IndustrialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_DefenseMember_tROc3SA-IkWKxvjAYkJbmQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:DefenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_glnFIRTD8ke9W2RZqlUQzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_kN-u57DMnEqYjglReZGvTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_IndustrialMember_qZFlhmoLwEOrI9L1pVJVCg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:IndustrialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_DefenseMember_audOhR0YkUO6hZHQWRJ4jg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:DefenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_qsb6TwyG4EKxIcR07SYe3Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_ppmpedlrQU-U7W3gkd5spw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_AQiOM43YE0qgDCofkenMRg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_aWMCkWlB0kSk-sPyeDzCYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_Bspxyde9CkyLuueZvrDawA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_joU_ClbzJUOoNjkJOQhWbQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_bVeDoYFYVE6cxdhinAQnYQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_-6IpxO5NeEqi5_FiaFqV7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingAndBuildingImprovementsMember_5Wh1kMcApkqbyUKKJccXRw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_tpcs_MachineryEquipmentFurnitureAndFixturesMember_efnnvJhAa0SnB_tz3Sr9Qg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tpcs:MachineryEquipmentFurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_1WWV6R1yK0iNbAN-XwJXpw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_odwAiUw1M0OAUW38FVX_zg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingAndBuildingImprovementsMember_mnLFLT7xbE-ytNI0oEpz0A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_tpcs_MachineryEquipmentFurnitureAndFixturesMember_RdDoHphKdUes7plMtyhJpQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tpcs:MachineryEquipmentFurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_rV9pn5-y6U-wJPjmHb6Pqg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_fTIbHl3lkUG7SFR86q33WA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_TaxPeriodAxis_tpcs_TaxYearsPriorToTwoThousandTwentyOneMember_WS4dITeCLUeInRmG36DepA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">tpcs:TaxYearsPriorToTwoThousandTwentyOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember__SeFpt5xTE6k1SvzMcIc1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:StadcoAcquisitionLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_cYSNVMDVrkGWyIaqwI0jkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:RanorIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember__P3LfmwPSESYNR2WGYya9A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_zOH2RRSEDUSuPxiahVN8KA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:StadcoAcquisitionLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_cSdJIs7yrUWi6LWvlZ3_Ng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:RanorIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_fb8m3jAKSU2sbVjIg4UGRw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_3_2024_To_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_ZGcMv0h32UK2IQw9D1ABfw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-03</xbrli:startDate><xbrli:endDate>2024-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_yZ4LfliIO024zqPZyncitw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ywDkSImrxUmH26eaGTggYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_5_28_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_Ji5swtgxfkuaF-KgnM6Ovw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-05-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_5_24_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_oephzG9_JEGpZARH8vCLCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-05-24</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_5_23_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_MeY5ch22TEK0hgT3pohf7Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-05-23</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_vcRMbv3wNEGsIfKFv4jOxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_-0kiYhNHB0q6EwmdEFOcFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_28NYI-AdzUi03e8TfKsX7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_aCrg8sYJXUaoOhqLIjs1UA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_BlU5g3tJS0aObnTP36QrHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_F1K_h0_69E61to_LibFofA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_FlfjqNlVrUm4wnkyLcLQAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_dei_LegalEntityAxis_tpcs_RanorIncMember_dgEvgCfWP0e1Kf4eyKjU4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">tpcs:RanorIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_dei_LegalEntityAxis_tpcs_RanorIncMember_iMo17cTKDEqQIDgDYlD5ag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">tpcs:RanorIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_5UOYm-Y8-0isqbIxiXCq9A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_TLa0eTgij0mkZhwwQ-oqjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_12_23_2022_To_12_23_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_JXKyuTgSX0uDOS5RnkzekA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-23</xbrli:startDate><xbrli:endDate>2022-12-23</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_12_23_2022_To_12_23_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_9eNpjcrprkex2xe5xboRjg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-23</xbrli:startDate><xbrli:endDate>2022-12-23</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_12_1_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_SecuredDebtMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_X1gOs8rlB0yesCbZpq1Xgg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-12-01</xbrli:startDate><xbrli:endDate>2016-12-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_23_2022_srt_RangeAxis_srt_MinimumMember_eQdQ3zQXGUSfJ_EhrwhU4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-23</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_23_2022_srt_RangeAxis_srt_MaximumMember_kE-WtCWnPkqoReTNzpG4KA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-23</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_SecuredDebtMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_UsVIoeDDOUqJO4J02OUofQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_8_25_2021_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_h2UA2XL7JUi6lW0-TOJQVQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">tpcs:RanorIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-08-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_ccSScFM26keuwqvg7uPkJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt3.79InterestDueAugust2028Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-08-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_21_2016_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_CreditFacilityAxis_us-gaap_SecuredDebtMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_Pn7GfNxkZ0y_xFocEEH01g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">tpcs:RanorIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_gIzQS_7GpE-BJjoDlDacvw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_hji5VqUs80GnpI8KTwQykg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanAt6.05InterestDueDecember2027Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_hAeUcvCIy02zbi158M-6FQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorRevolverLoanAt7.69InterestDueAugust2024Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_h_M5GE4zBkuYC8t444o79Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_FDE5OMg5CEiIOt61hbcQ4g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanAt6.05InterestDueDecember2027Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_dv9T9a4wSEOrdkoVn2z2rw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorRevolverLoanAt7.69InterestDueAugust2024Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_6_1_2024_To_6_1_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_lB4Q0kutyUynbBGYpF9uyg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-06-01</xbrli:startDate><xbrli:endDate>2024-06-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_5_31_2024_To_5_31_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_69CdOSzDkES42y072zf_4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-05-31</xbrli:startDate><xbrli:endDate>2024-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_25_2021_To_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_bf0Rjfw5KEGgs6KMDBRIBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt3.79InterestDueAugust2028Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-08-25</xbrli:startDate><xbrli:endDate>2021-08-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_DeferredRevenueMember_LqoJEvKRgkeRNhPkPBauJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">tpcs:DeferredRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_CustomerDepositsMember_JtZioAHsbkmZFpKoYd5NBQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">tpcs:CustomerDepositsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_DeferredRevenueMember_jBM3VZtLtkyZBaYlU_K8pA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">tpcs:DeferredRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_CustomerDepositsMember_gUGV-KTY0EeR6bQzjn0s2g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">tpcs:CustomerDepositsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_us-gaap_UnbilledRevenuesMember_Fcoijz2byEizbxH9nZ5ghw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_tpcs_AdjustmentsProgressPaymentsReceivableMember_kg0OVmMjbUiOBWlpGq9MAw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">tpcs:AdjustmentsProgressPaymentsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_us-gaap_UnbilledRevenuesMember_0wQ1Fp0cEkyycL5dp_-0MA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_tpcs_AdjustmentsProgressPaymentsReceivableMember_nrxGXOsDv0Ge9iuYTJTuZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">tpcs:AdjustmentsProgressPaymentsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_OneSupplierMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_URroydbBJ0KABqNKk-sNtA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:OneSupplierMember</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-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_Customers.Member_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Qcr25m_sT0aGOz1xeKKQAA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:Customers.Member</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-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerEMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uP606bRYkkub5jLrY-xnJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerEMember</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-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Je6N5JauTEOqr_IqF0wdSA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerDMember</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-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_sacaZwh8Fk-KsQaNM0cSMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerCMember</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-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerCDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_tpcs_TradeReceivablesMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Mcb6z5vrs06CxaUE_uhhog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerCDMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">tpcs:TradeReceivablesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_xIdjh1dJLk-EPZgMDiEAqg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerBMember</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-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_0TGJ8IGS30CWlm1TZji57g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerAMember</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-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_UeSjHtEonkOo-21HCuMNxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerAMember</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-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_OneSupplierMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_lviD3vpFlUShUb6_Sn4Zlw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:OneSupplierMember</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-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerEMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_izISuy5nsEiM9rLtOkG8Dw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerEMember</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-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_xC9kH_PJq0Wtw982OUBTsA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerDMember</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-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Yk4MBFc9Z0yFWUKjUO6xKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerDMember</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-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PJ0bhQsORkSbBtj4mqu7Kw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerCMember</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-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_x7QWNQp_u0iQ1pobcksUng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerBMember</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-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_00k-HqOGNkm7kXRZGjmtmA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerAMember</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-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_TJqd7Zd6xUGb_XnkoDgaig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerAMember</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-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_23_2023_fOoRGPoiakKzIRUmcjh2Cw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-02-23</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_22_2023_zOuuptjsrEmFOzM90fL_Nw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-02-22</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_nrF9dOccm0iWbvsD_mdgwg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tpcs:EquityIncentivePlan2016Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2022_URldAZsxQk-e2NkMeLkdSg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_hAnMRmfRzESD37lh8ef_bA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:StadcoAcquisitionLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_U8gUjmfvEUmrLoZxSVLNjg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:RanorIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_mpM5EootnEGF9WEVM6YG6A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_uGePGeSlw0Gy9lhf9NBi6g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:StadcoAcquisitionLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_WqXOndtMdUi9s3aZRXQCJw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:RanorIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_pWniNexCs0e831MRWTuxWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_WarrantMember_Bo-QMGl8bkCWlsNe4w8hxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_L-FSWnPqUEKJF_VKbP9gjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_WarrantMember_QDlxNL3ZxEKvS4qB1Fon1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_-jI0UdwIhUKJPCFavF7MUg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_11_2023_To_10_11_2023_us-gaap_AwardTypeAxis_tpcs_ServiceBasedRestrictedStockTwoMember_1YoRNoIz6ki9OoASOoP0Xg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tpcs:ServiceBasedRestrictedStockTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-11</xbrli:startDate><xbrli:endDate>2023-10-11</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_IncomeStatementLocationAxis_us-gaap_SellingGeneralAndAdministrativeExpensesMember_c3kUAyoCT02kEJf3OY21-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_SellingGeneralAndAdministrativeExpensesMember_NxVEv8o7DUOvqH9rhR_ZvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_c28_crNyV0u3HSQr3IOT7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerCMember</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:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WtEE3Lfmw0669Jd4tzKldA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerAMember</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:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_a81L9kbSGke5OtcVLMPFLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerDMember</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:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rSr5Dkm_IkCHvsNvVco5ZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerBMember</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:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_KhqefYGwyUu0tP1CK_F6nA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerAMember</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:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_2_2024_To_1_2_2024_srt_TitleOfIndividualAxis_tpcs_FormerChiefFinancialOfficerMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_98gr5MOvTUikgG0Cr5cnUQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">tpcs:FormerChiefFinancialOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tpcs:EquityIncentivePlan2016Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-02</xbrli:startDate><xbrli:endDate>2024-01-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_yFyAORoEI0KE2DhoFuviwg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_WGakJHhYwkCFssdUJfzt4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_29_2024_To_4_29_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_Q-JdCBMx2kWTlx8wtXwsVg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-29</xbrli:startDate><xbrli:endDate>2024-04-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7T2peg8aDkGntl6kWp5Kgg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_5_2_2024_To_5_2_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_fXK-mD-3B0mp9tLc01Y33A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-05-02</xbrli:startDate><xbrli:endDate>2024-05-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_2_2024_To_4_2_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_fZRErHmOsEe4i1TFw36Aag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-02</xbrli:startDate><xbrli:endDate>2024-04-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_15_2022_To_9_15_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementNonemployeeMember_gk7ScDZIWEeNmo0bAaWHSA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementNonemployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-09-15</xbrli:startDate><xbrli:endDate>2022-09-15</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_3_2023_To_8_3_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_V5kWFx3sOE2qwR3-FNGbyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-03</xbrli:startDate><xbrli:endDate>2023-08-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_sV8HMYtNfkKVV4TwIw2bag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_12_30_2022_To_12_30_2022_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_pXM7qosKWkutrCSrnwF8VQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-30</xbrli:startDate><xbrli:endDate>2022-12-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2022_To_12_31_2022_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_8GhnJhMNr0uIkvx1siuK7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_oHiMfUzd9kqTASKUNE5HkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_25_2021_To_8_25_2021_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_esWUXI2fN0WMKMhDbCxOyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">tpcs:RanorIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-08-25</xbrli:startDate><xbrli:endDate>2021-08-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_8_25_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_TqyME9GNOU2TVQyxoAb8xQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-08-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_tpcs_TradeReceivablesMember_3l4iW77eqECfCDeek5BDrQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">tpcs:TradeReceivablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_g1USBG1K9kmpZiRkVT0X-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_MZO7U7o6i0q-wwSvX2GqDQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_Z08GjzS9H0i9IczFotrueA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_20_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_ABOSMhqirUuogJ4b4Zpn-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-20</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_8_25_2021_To_8_25_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_dL5bww8fPUm5u_k8klBN5A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-08-25</xbrli:startDate><xbrli:endDate>2021-08-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanMember_1g62SHgvQ0ia8IfOe-kTnA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-08-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_12_21_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_NotesPayableOtherPayablesMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_kMiUPkmCpUSJM6hWiBAAFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-12-21</xbrli:startDate><xbrli:endDate>2016-12-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_12_21_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_8ZsazWF5dUyyfUQAik72jQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-12-21</xbrli:startDate><xbrli:endDate>2016-12-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_xvSsYUL0ikqE_UV6UpgLew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">tpcs:RanorIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_yvrHpEyhnEaFv1s9crDdxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_v72CklxSzUW7tTveCOHSzw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_7_13_2023_To_7_13_2023_srt_TitleOfIndividualAxis_srt_ChiefFinancialOfficerMember_idobkPO_Kkia9HD26fL6Tw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefFinancialOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-07-13</xbrli:startDate><xbrli:endDate>2023-07-13</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_Zwk-OG94HkKtLU__1aKN2g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_gQhFrTy3ZE6ZtXa3cLcl-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_nmcMgqINEUCdIEPVcAWGbg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:StadcoAcquisitionLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_eqbGpv8USkurAzyL5l7Hpg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:RanorIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_LI1NAr_ue0eqh_TFiOiFhQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_6e1V3cqNpUizJjHhzW-iXg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:StadcoAcquisitionLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_Cbmu2dDwBESGXYMmAdTdBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:RanorIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_jeEI0EdHx0icxSAglAlWRA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_8GZDsVIrukaitXKcVaxbzw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">tpcs:PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_VDwqQdIZJke8qwTwxeUXJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">tpcs:PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_jsdo4SVWZEKM3U9vIWdJAw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">tpcs:PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_Edx8lG7umEyWFpd0LZSf2g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2023_6WGbCiEfPkadsppIHCZjxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_12_2024_txyChQXTvUiF2F7SeNcj0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-09-12</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_series_LPcGhCXu80q9Nan6hqJcuQ"><xbrli:measure>tpcs:series</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_customer_qy87DfQ4RU2d4SFN2Z-jqg"><xbrli:measure>tpcs:customer</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA"><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_item_oi67NW31uUCizwhUbF89_w"><xbrli:measure>tpcs:item</xbrli:measure></xbrli:unit></ix:resources></ix:header></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:10.35pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:4pt;font-weight:bold;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_583f1437_e204_4516_8e32_f59c4f764021"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">UNITED STATES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 4pt 0pt;">WASHINGTON, D.C. 20549</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FORM&#160;</b><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:DocumentType" id="Narr_-lqxZtH8cUahLH5r9GaiHg"><b style="font-weight:bold;">10-K</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">(Mark One)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:DocumentAnnualReport" id="Narr_3duucUgg0E-Cn1Q4mm0Yjw"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9746;</span></ix:nonNumeric><span style="font-size:8pt;">&#160;ANNUAL REPORT PURSUANT TO SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><span style="font-size:7pt;">For the fiscal&#160;year ended </span><ix:nonNumeric format="ixt:datemonthdayyearen" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:DocumentPeriodEndDate" id="Narr_kLISB3iHq0K5AoWLD-oSUg"><ix:nonNumeric format="ixt:datemonthdayen" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:CurrentFiscalYearEndDate" id="Narr_eK0Npn9NhE-OjfvtN9vY_g"><b style="font-size:7pt;font-weight:bold;">March&#160;31</b></ix:nonNumeric><b style="font-size:7pt;font-weight:bold;">, </b><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:DocumentFiscalYearFocus" id="Narr_uaXR1pbfmEepKqTwk2C7nw"><b style="font-size:7pt;font-weight:bold;">2024</b></ix:nonNumeric></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:DocumentTransitionReport" id="Narr_GRS4ZrlVqUqUq3YPpWx89w"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></ix:nonNumeric><span style="font-size:8pt;">&#160;TRANSITION REPORT PURSUANT TO SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt 0pt 4pt 0pt;">For the transition period from __________________ to __________________</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><span style="font-size:7pt;">Commission File Number: </span><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityFileNumber" id="Narr_onkBHXM3jkaTYa0Ajk6ArA"><b style="font-size:7pt;font-weight:bold;">000-51378</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><span style="-sec-ix-hidden:Hidden_930oC81QGUuhzV5cAXP6uw;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">TechPrecision Corporation</b></span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;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;text-align:center;margin:0pt;"><span style="font-size:3pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_0d1e8211_8dc0_40e9_9ed7_16c0b77fddb7"></a><a id="Tc_U_HrkvfVWUu6cs9UHln1Gw_2_0"></a><a id="Tc_eNUEjb-heUiV5LD3sfXdiw_2_2"></a><a id="Tc_Mw2_JMfHB0yqKOMMDL6oxw_3_0"></a><a id="Tc_lwuGeSeaFU6t2RKqQ2zQMQ_3_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:top;width:49%;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:2%;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:49%;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:49%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityIncorporationStateCountryCode" id="Tc_OpzsrMHnKk6VSy024n5VOg_1_0"><b style="font-size:7pt;font-weight:bold;">Delaware</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:49%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityTaxIdentificationNumber" id="Tc_emhQf9Mh4U-1neUhU7TcDQ_1_2"><b style="font-size:7pt;font-weight:bold;">51-0539828</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">(State or other jurisdiction of</p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">(I.R.S. Employer</p></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">incorporation or organization)</p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">Identification No.)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:3pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_24276874_0c6e_4fb3_bd3b_624ba7e71431"></a><a id="Tc_a1TgNESPeE6w-yoz77Dfog_1_0"></a><a id="Tc_SBAAZTzZxUGnZFBdlKgA4A_2_0"></a><a id="Tc_LJefOMwqkES0yToM3Dlp2Q_2_2"></a><a id="Tc_cIj11XLm30i9wlpFGLxicw_4_0"></a><a id="Tc_jvfFmIWJY0iKNetqwLzfzA_4_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><td style="vertical-align:top;width:49.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityAddressAddressLine1" id="Tc_VJ8wYePeCECHAqqnM-N2sQ_0_0"><b style="font-size:7pt;font-weight:bold;">1 Bella Drive</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:49.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityAddressCityOrTown" id="Narr_HrjtEXtA80-P5N7vqobFow"><b style="font-size:7pt;font-weight:bold;">Westminster</b></ix:nonNumeric><b style="font-size:7pt;font-weight:bold;">, </b><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityAddressStateOrProvince" id="Narr_eVbQLK40WkWILCR5K_ZUNg"><b style="font-size:7pt;font-weight:bold;">MA</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityAddressPostalZipCode" id="Tc_8wizKNh1m0ij8n12RZFvSg_1_2"><b style="font-size:7pt;font-weight:bold;">01473</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:49.16%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">(Address of principal executive offices)</p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49.15%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">(Zip Code)</p></td></tr><tr><td style="vertical-align:middle;width:49.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:49.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">Registrant&#8217;s telephone number, including area code</p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:7pt;font-weight:bold;">(</b><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:CityAreaCode" id="Narr_JMbz7TSE70K3FsAPMA38Aw"><b style="font-size:7pt;font-weight:bold;">978</b></ix:nonNumeric><b style="font-size:7pt;font-weight:bold;">) </b><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:LocalPhoneNumber" id="Narr_q_E123Ne7E-iKI52XSVfrg"><b style="font-size:7pt;font-weight:bold;">874-0591</b></ix:nonNumeric></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Securities registered pursuant to Section&#160;12(b)&#160;of the Act:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:3pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_1262647f_80ed_4730_8afe_2d8ace70f8d3"></a><a id="Tc_zig7DLAtEEiSqCzO44Pa8A_1_0"></a><a id="Tc_ye8uUKCKZEKmnk05x4cyyA_1_2"></a><a id="Tc_I2xGledwXUqSaYuNVoBBdw_1_4"></a><a id="Tc_ln0lefUldUeKJSbm7zLPiQ_2_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:32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"/><td style="vertical-align:bottom;width:2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"/><td style="vertical-align:bottom;width:32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:32%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">Title&#160;of&#160;each&#160;class</p></td><td style="vertical-align:top;width:2%;border-bottom:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:top;width:32%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">Ticker symbol(s)</p></td><td style="vertical-align:bottom;width:2%;border-bottom:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;width:32%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">Name&#160;of&#160;each&#160;exchange&#160;on&#160;which&#160;registered</p></td></tr><tr><td style="vertical-align:top;width:32%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:Security12bTitle" id="Tc_-Tnm12dCJk2LZPPWuaLzEw_2_0"><span style="font-size:7pt;">Common Stock, par value $0.0001 per share</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:2%;border-bottom:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:32%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:TradingSymbol" id="Tc_KtS_mxaH80i9i_FLJhsj7Q_2_2"><span style="font-size:7pt;">TPCS</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;width:2%;border-bottom:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:32%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric format="ixt-sec:exchnameen" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:SecurityExchangeName" id="Narr_A_nXH2hyyEK_aJP-PtmYmA"><span style="font-size:7pt;">Nasdaq</span></ix:nonNumeric><span style="font-size:7pt;"> Capital Market</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Securities registered pursuant to Section 12(g) of the Act: None.</p><div style="font-family:'Times New Roman','Times','serif';font-size:9.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:100%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 5pt 0pt;"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9744;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-size:7pt;">Yes&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9746;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityWellKnownSeasonedIssuer" id="Narr_TxdwcaqlmEibEK3_Vr_cWw"><span style="font-size:7pt;">No</span></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Exchange Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9744;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-size:7pt;">Yes&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9746;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityVoluntaryFilers" id="Narr_bVIPnJ_DQkCiCy5nfDS55g"><span style="font-size:7pt;">No</span></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 5pt 0pt;"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9744;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-size:7pt;">Yes&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9746;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityCurrentReportingStatus" id="Narr_-_0YswiKCEOP2bJf6rTnXQ"><span style="font-size:7pt;">No</span></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">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 (&#167; 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9746;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityInteractiveDataCurrent" id="Narr_BGlHW8uYr0O3CV-ttuOs_w"><span style="font-size:7pt;">Yes</span></ix:nonNumeric><span style="font-size:7pt;">&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9744;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-size:7pt;">No</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company&#8221;, and &#8220;emerging growth company&#8221; in Rule&#160;12b-2 of the Exchange Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:3pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_5dbabf95_287d_40a8_9768_8fda14a4a467"></a><a id="Tc_SSAkqpoZGUmNwxitldfiIg_0_0"></a><a id="Tc_5nQlN35tB02XDJyxxo3yPA_0_1"></a><a id="Tc__8XcicmmSkOjNUxWQujqzg_0_4"></a><a id="Tc_9Fwanji3NkCUy6u1VhDH8g_0_5"></a><a id="Tc_cg7qZgrtNES3lKjVwh695w_1_1"></a><a id="Tc_39Ex9O9brUGlcCVUyqsHpw_1_4"></a><a id="Tc_tcpH7SZDRk-eGPe_axzYMA_2_4"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:top;width:22.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">Large accelerated filer</p></td><td style="vertical-align:top;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><span style="font-family:'Segoe UI Symbol';">&#9744;</span></p></td><td style="vertical-align:top;width:32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">Accelerated filer</p></td><td style="vertical-align:top;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><span style="font-family:'Segoe UI Symbol';">&#9744;</span></p></td></tr><tr><td style="vertical-align:top;width:22.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:entityfilercategoryen" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityFilerCategory" id="Tc_wWdw1-o4cES58hQq1UHSLA_1_0"><span style="font-size:7pt;">Non-accelerated filer</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><span style="font-family:'Segoe UI Symbol';">&#9746;</span></p></td><td style="vertical-align:top;width:32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">Smaller reporting company</p></td><td style="vertical-align:top;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntitySmallBusiness" id="Tc_uGSXTILeK0CuVeZrmN4MNQ_1_5"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9746;</span></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:22.99%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:4%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">Emerging growth company</p></td><td style="vertical-align:top;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityEmergingGrowthCompany" id="Tc__Wnz74xy9EuSyz5PfM7HGA_2_5"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9744;</span></ix:nonNumeric></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:3pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;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 pursuant to Section&#160;13(a)&#160;of the Exchange Act.&#160;&#160;&#160;&#160;&#160;<span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:3pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:7pt;">Indicate by check mark whether the registrant has filed a report on and attestation to its management</span><span style="font-size:7pt;">&#8217;s</span><span style="font-size:7pt;"> assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report</span><span style="font-size:9pt;">.&#160;&#160;&#160;&#160;</span><span style="font-size:9pt;">&#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:IcfrAuditorAttestationFlag" id="Narr_yFbXOqpckkCbE4FEhVp2ew"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9744;</span></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:3pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:7pt;">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements.&#160;&#160;&#160;&#160;&#160;&#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:DocumentFinStmtErrorCorrectionFlag" id="Narr_dMcw4HBdZkqrIM7CXl3teg"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9744;</span></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b).&#160;&#160;&#160;&#160;&#160;&#160;<span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule&#160;12b-2 of the Exchange Act).</p><a id="_69ece145_2f30_4b79_b23b_3a7b427c43b3"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:EntityShellCompany" id="Narr_YcJtU18keU6mZZeGdFxUCQ"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9744;</span></ix:nonNumeric><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-size:7pt;">Yes&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9746;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-family:'Segoe UI Symbol';">&#160;</span><span style="font-size:7pt;">No</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:3pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt 0pt 4pt 0pt;">The aggregate market value of the voting and non-voting common stock held by non-affiliates of the registrant as of September&#160;30, 2023,&#160;the last business day of the registrant&#8217;s most recently completed second fiscal quarter, was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" format="ixt:numdotdecimal" scale="6" contextRef="As_Of_9_30_2023_6WGbCiEfPkadsppIHCZjxw" decimals="-5" name="dei:EntityPublicFloat" id="Narr_jazljRS20keVOt0M7i7dMw">53.0</ix:nonFraction> million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt 0pt 4pt 0pt;">The number of shares outstanding of the registrant&#8217;s common stock as of September 12, 2024 was <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_9_12_2024_txyChQXTvUiF2F7SeNcj0w" decimals="0" name="dei:EntityCommonStockSharesOutstanding" id="Narr_4eHat_sJEUiG2XBNPOqEPA">9,619,232</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt 0pt 4pt 0pt;">DOCUMENTS INCORPORATED BY REFERENCE</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:4pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:1pt;padding-top:1pt;text-align:justify;border-bottom:3.0pt solid #000000;border-top:1px solid #000000;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-weight:bold;line-height:0pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_2b4ed7c9_cc22_4a63_a8c4_930aab7c39e4"></a><a id="TOC"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">TABLE OF CONTENTS</b></p><a id="Tc_ASAinSNBSEuxqnqRjweisA_1_1"></a><a id="Tc_B8NK9TlYM0OjAAhoQvhufg_3_0"></a><a id="Tc_HlG7MJgKIEahK6W2wEFkFw_5_0"></a><a id="Tc_qB7hbwGuNU60X9-_VqqD8w_7_0"></a><a id="Tc_sNnaby05rEKFBZ7vuheu4Q_9_0"></a><a id="Tc_WDC51o1hHUaz6lQLANJWUQ_11_0"></a><a id="Tc_IJfUX7xdj0-Pd5Q5-1EUYg_13_0"></a><a id="Tc_yHjk8G1Qi0W_X_BBB1mdcQ_15_0"></a><a id="Tc_0g7BEL8anEWSiFGM0LH9QA_17_0"></a><a id="Tc_YC__DtxWsUmYCEDWZWvV2w_19_0"></a><a id="Tc_5-0JAYQCSkuNs8GYSN7O1g_21_0"></a><a id="Tc_Xw8Se1ToKkyq6lqJmuAJVQ_23_0"></a><a id="Tc_HWsGzR0PK0GkbQgqWR0hRQ_25_0"></a><a id="Tc_eT6AWPizwUy27F3cd-0RXw_27_0"></a><a id="Tc_iKywYloBcEWceLf_9QzzHQ_29_0"></a><a id="Tc_ysdoSXbUBE2DJfcmj8sKyw_31_0"></a><a id="Tc_13izb--05Ui1eUEaTwXhjA_33_0"></a><a id="Tc_OBshmpxcdUyzNQwBBfyAFw_35_0"></a><a id="Tc_ounYgU3SgUK51w9j9HlctA_37_0"></a><a id="Tc_CjpBHqBovUGogC2HUadgMA_39_0"></a><a id="Tc_x_NwYRXV20KATJ2ggS9C1Q_41_0"></a><a id="Tc_DVZCqvh77ES_EuME32h4EA_43_0"></a><a id="Tc_0-DmqSFJM0KvkqP2y_YRbw_45_0"></a><a id="Tc_qK3v7u8i7UmVhYMBfkpoAQ_47_0"></a><a id="Tc_P0kqvjb20EarHE3YR__2gA_49_0"></a><a id="Tc_N1CS--1YOUGdzR8Pl79b_g_51_0"></a><a id="Tc_JghIFgXq-0KwafWWG8dtjw_53_0"></a><a id="Tc_LtzHR7vBDEuuVaW9ObPSww_55_0"></a><a id="Tc_aa47JAdSXkisH23OBW5ehw_57_0"></a><a id="Tc_sbjb6aPeo0GBnkVEsDnC7w_59_0"></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:93.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Page</b></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#PARTI_728084"><b style="font-style:normal;font-weight:bold;">PART I</b></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item1Business_687827"><span style="font-style:normal;font-weight:normal;">Item 1. Business</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">3</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item1ARiskFactors_638417"><span style="font-style:normal;font-weight:normal;">Item 1A. Risk Factors</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">8</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item1BUnresolvedStaffComments_74627"><span style="font-style:normal;font-weight:normal;">Item 1B. Unresolved Staff Comments</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">20</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item1CCybersecurity_901790"><span style="font-style:normal;font-weight:normal;">Item 1C. Cybersecurity</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">20</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item2Properties_575599"><span style="font-style:normal;font-weight:normal;">Item 2. Properties</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">21</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item3LegalProceedings_196111"><span style="font-style:normal;font-weight:normal;">Item 3. Legal Proceedings</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">21</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item4MineSafetyDisclosures_164393"><span style="font-style:normal;font-weight:normal;">Item 4. Mine Safety Disclosures</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">21</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item4AExecutiveOfficersoftheRegistrant_8"><span style="font-style:normal;font-weight:normal;">Item 4A. Executive Officers of the Registrant</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">22</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#PARTII_811637"><b style="font-style:normal;font-weight:bold;">PART II</b></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item5MarketforRegistrantsCommonEquityRel"><span style="font-style:normal;font-weight:normal;">Item 5. Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">23</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item6SelectedFinancialData_887378"><span style="font-style:normal;font-weight:normal;">Item 6. Reserved </span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">23</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item7ManagementsDiscussionandAnalysisofF"><span style="font-style:normal;font-weight:normal;">Item 7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">23</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item7AQuantitativeandQualitativeDisclosu"><span style="font-style:normal;font-weight:normal;">Item 7A. Quantitative and Qualitative Disclosure About Market Risk</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">36</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item8FinancialStatementsandSupplementary"><span style="font-style:normal;font-weight:normal;">Item 8. Financial Statements and Supplementary Data</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">36</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 28.8pt;"><a style="font-size:9pt;" href="#REPORTOFINDEPENDENTREGISTEREDPUBLICACCOU"><span style="font-style:normal;font-weight:normal;">Report of Independent Registered Public Accounting Firm</span></a><span style="font-size:9pt;"> (PCAOB ID </span><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:AuditorFirmId" id="Narr_unwS2fXwL0ikSEeYdqfqCQ"><span style="font-size:9pt;">688</span></ix:nonNumeric><span style="font-size:9pt;">)</span></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">37</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item9ChangesinandDisagreementswithAccoun"><span style="font-style:normal;font-weight:normal;">Item 9. Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">63</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item9AControlsandProcedures_281017"><span style="font-style:normal;font-weight:normal;">Item 9A. Controls and Procedures</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">63</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item9BOtherInformation_253638"><span style="font-style:normal;font-weight:normal;">Item 9B. Other Information&#8239;</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">66</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item9CDisclosureRegardingForeignJurisdic"><span style="font-style:normal;font-weight:normal;">Item 9C. Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">66</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#PARTIII_411262"><b style="font-style:normal;font-weight:bold;">PART III</b></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item10DirectorsExecutiveOfficersandCorpo"><span style="font-style:normal;font-weight:normal;">Item 10. Directors, Executive Officers, and Corporate Governance</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">67</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item11ExecutiveCompensation_112407"><span style="font-style:normal;font-weight:normal;">Item 11. Executive Compensation</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">69</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item12SecurityOwnershipofCertainBenefici"><span style="font-style:normal;font-weight:normal;">Item 12. Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">75</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item13CertainRelationshipsandRelatedTran"><span style="font-style:normal;font-weight:normal;">Item 13. Certain Relationships and Related Transactions and Director Independence</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">76</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item14PrincipalAccountantFeesandServices"><span style="font-style:normal;font-weight:normal;">Item 14. Principal Accountant Fees and Services</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">77</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#PartIV_562605"><b style="font-style:normal;font-weight:bold;">PART IV</b></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item15ExhibitsandFinancialStatementSched"><span style="font-style:normal;font-weight:normal;">Item 15. Exhibits and Financial Statement Schedules</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">78</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:93.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a style="font-size:9pt;" href="#Item16"><span style="font-style:normal;font-weight:normal;">Item 16. Form 10-K Summary</span></a></p></td><td style="vertical-align:bottom;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;">81</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;"><span style="font-size:6pt;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;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_0c13f0d5_de9a_4c78_85a5_ef055f2dc004"></a><a id="PARTI_728084"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt 0pt 10pt 0pt;">PART&#160;I</p><a id="Item1Business_687827"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Item&#160;1.&#160;&#160;&#160;&#160;&#160;&#160;&#160;Business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our Business</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We are a manufacturer of precision, large-scale fabricated and machined metal structural components and systems. We offer a full range of services required to transform raw materials into precision finished products. We sell these finished products to customers in two main industry groups: defense and precision industrial. The finished products are used in a variety of markets including defense, aerospace, nuclear, medical, and precision industrial. Our mission is to be a leading end-to-end service provider to our customers by furnishing custom, fully integrated solutions for complete products that require custom fabrication, precision machining, assembly, integration, inspection, non-destructive evaluation, and testing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We work with our customers to manufacture products in accordance with the customers&#8217; drawings and specifications. Our work complies with specific national and international codes and standards applicable to our industry. We believe that we have earned our reputation through outstanding technical expertise, attention to detail, and a total commitment to quality and excellence in customer service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have two wholly owned subsidiaries that are each reportable segments: Ranor and Stadco. Each reportable segment focuses on the manufacture and assembly of specific components, primarily for defense and other precision industrial customers. For discussion of the operating results of our reporting business segments, refer to <i style="font-style:italic;">&#8220;Item 7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221;</i> and Note 16, <i style="font-style:italic;">Segment Information</i>, in the Notes to the Consolidated Financial Statements under &#8220;<i style="font-style:italic;">Item 8. Financial Statements and Supplementary Data.</i>&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Termination of the Votaw Acquisition</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On November 22, 2023 we entered into a Stock Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with Doerfer Corporation (the &#8220;Seller&#8221;), pursuant to which, we would acquire all of the issued and outstanding common stock of Votaw Precision Technologies, Inc. (&#8220;Votaw&#8221;), and after giving effect to such purchase, Votaw was to become a wholly owned subsidiary of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Due to a change in certain conditions and events, it became probable that on March 31, 2024, the Company would be unable to close on the acquisition. On April 2, 2024, the Seller delivered to us written notice of its election to terminate the Purchase Agreement under Section 7.01(f) effective immediately. Pursuant to Section 7.01(f) of the Purchase Agreement, in the event that the Closing (as defined in the Purchase Agreement) had not occurred by the Outside Date (as defined in the Purchase Agreement) either the Company or the Seller had the right to terminate the Purchase Agreement, subject to the party terminating having complied with the other required closing conditions. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Since the Seller validly terminated the Purchase Agreement pursuant to Section 7.01(f) therein, the Company was required to pay to the Seller a termination fee, as the Seller&#8217;s exclusive remedy, consisting of 320,000 shares of the Company&#8217;s common stock issued into the name of the Seller (the &#8220;Stock Termination Fee&#8221;). The Purchase Agreement includes a provision that the Stock Termination Fee is increased by 48,000 additional shares of the Company&#8217;s common stock under certain circumstances, including if the Company fails to use commercially reasonable efforts to cause a registration statement to effect the resale of the shares composing the Stock Termination Fee to become effective as soon as practicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On April 29, 2024, we issued 320,000 shares of the Company&#8217;s common stock as the Stock Termination Fee. On May 2, 2024, the Company filed a registration statement on Form S-1, related to the offer and resale by the Seller of up to 320,000 shares of our common stock that were issued to the Seller as the Stock Termination Fee, which cannot be declared effective by the Securities and Exchange Commission until we have filed all of the required financial statements, including our Quarterly Report on Form 10-Q for the fiscal quarter ended June 30, 2024. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">See Note 17, <i style="font-style:italic;">Subsequent Events</i>, to our consolidated financial statements included in <i style="font-style:italic;">Item 8</i> and <i style="font-style:italic;">Item 1A, &#8220;Risk Factors</i>,&#8221; for additional information on the Stock Termination Fee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">About Us</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We are a Delaware corporation organized in 2005 under the name Lounsberry Holdings II, Inc. On February 24, 2006, we acquired all of the issued and outstanding capital stock of our wholly owned subsidiary Ranor, Inc., or &#8220;Ranor.&#8221; On March 6, 2006, following the acquisition of Ranor, we changed our corporate name to TechPrecision Corporation. Ranor, together with its predecessors, has been in </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">continuous operation since 1956. From February 24, 2006, until our acquisition of Stadco in August 2021, our primary business has been the business of Ranor.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 25, 2021, the Company completed its acquisition of Stadco, a company in the business of manufacturing high-precision parts, assemblies and tooling for aerospace, defense, research and commercial customers, pursuant to that certain stock purchase agreement with Stadco New Acquisition, LLC, Stadco Acquisition, LLC, Stadco and each equity holder of Stadco Acquisition, LLC. On August 25, 2021, pursuant to the stock purchase agreement, and upon the terms and subject to the conditions therein, the Company, through Stadco New Acquisition, LLC, acquired all of the issued and outstanding capital stock of Stadco from Stadco Acquisition, LLC. As a result, Stadco is now our wholly owned indirect subsidiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our executive offices are located at 1 Bella Drive, Westminster, Massachusetts 01473, and our telephone number is (978) 874-0591. Our website is www.techprecision.com. Information on our website, or any other website, is not incorporated by reference in this annual report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">References in this annual report to the &#8220;Company,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; &#8220;our&#8221; and similar words refer to TechPrecision Corporation and its subsidiaries, unless the context indicates otherwise, while references to &#8220;TechPrecision&#8221; refer to TechPrecision Corporation and not its subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">General</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The manufacturing operations of our Ranor subsidiary are situated on approximately 65 acres in North Central Massachusetts. Our 145,000 square foot facility houses state-of-the-art equipment which gives us the capability to manufacture products as large as 100 tons. We offer a full range of services required to transform raw material into precision finished products. Our manufacturing capabilities include fabrication operations (cutting, press and roll forming, assembly, welding, heat treating, blasting and painting) and machining operations including CNC (computer numerical controlled) horizontal and vertical milling centers. We also provide support services to our manufacturing capabilities: manufacturing engineering (planning, fixture and tooling development, and manufacturing), quality control (inspection and testing), materials procurement, production control (scheduling, project management and expediting), and final assembly.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">All manufacturing at Ranor&#8217;s facility is done in accordance with our written quality assurance program, which meets specific national codes, and international codes, standards, and specifications. The standards used for each customer project are specific to that customer&#8217;s needs, and we have implemented such standards into our manufacturing operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The manufacturing operations of our Stadco subsidiary are situated in an industrial warehouse and office location comprised of approximately 183,000 square feet in Los Angeles, California. At this site, Stadco manufactures large flight-critical components on several high-profile commercial and military aircraft programs, including military helicopters. It has been a critical supplier to a blue-chip customer base that includes some of the largest OEMs and prime contractors in the defense and aerospace industries. Stadco also provides tooling, customized molds, fixtures, jigs and dies used in the production of aircraft components and operates a large electron beam welding machine allowing it to weld thick pieces of titanium and other metals.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Products</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We manufacture a wide variety of products pursuant to customer contracts and based on individual customer needs. We can also provide manufacturing engineering services to assist customers in optimizing their engineering designs for manufacturing efficiency. We do not design the products we manufacture, but rather manufacture according to &#8220;build-to-print&#8221; requirements specified by our customers. Accordingly, we do not distribute the products that we manufacture on the open market, and we do not market any specific products on an on-going basis. We do not own the intellectual property rights to any proprietary marketed product, and we do not manufacture products in anticipation of orders. Manufacturing operations do not commence on any project before we receive a customer&#8217;s purchase order. We only consider contracts that cover specific products within the capability of our resources.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Although we seek continuous production programs with predictable cost structures that provide long-term integrated solutions for our customers, our activities include a variety of both custom-based and production-based requirements. The custom-based work is typically either a prototype or unique, one-of-a-kind product. The production-based work is repeat work or a single product with multiple quantity releases.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Changes in market demand for our manufacturing expertise can be significant and sudden and require us to be able to adapt to the collective needs of the customers and industries that we serve.&#160;Understanding this dynamic, we believe we have developed the capability to transform our workforce to manufacture products for customers across different industries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We serve customers in the defense, aerospace, nuclear, medical, and precision industrial markets. Examples of products we have manufactured within such industries during recent years include, but are not limited to, custom components for ships and submarines, military helicopters, aerospace equipment, components for nuclear power plants and components for large scale medical systems. We manage and report financial information through our two reportable segments, Ranor and Stadco.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Source of Supply</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our manufacturing operations are partly dependent on the availability of raw materials. Most of our contracts with customers require the use of customer-supplied raw materials in the manufacture of their product. Accordingly, raw material requirements vary with each contract and are dependent upon customer requirements and specifications. We have established relationships with numerous suppliers. When we do buy raw materials, we endeavor to establish alternate sources of material supply to reduce our dependency on any one supplier and strive to maintain a minimal raw material inventory.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our projects include the manufacturing of products from various traditional as well as specialty metal alloys. These materials may include, but are not limited to steel, nickel, monel, inconel, aluminum, stainless steel, and other alloys. Certain of these materials are subject to long-lead time delivery schedules. In the fiscal year ended March 31, 2024, or &#8220;fiscal 2024&#8221;, one supplier accounted for 10% or more of our purchased material. In the fiscal year ended March 31, 2023, or &#8220;fiscal 2023&#8221;, one supplier accounted for 10% or more of our purchased material.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Marketing</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">While we have significant customer concentration, we endeavor to broaden our customer base as well as the industries we serve. We market to our existing customer base and initiate contacts with new potential customers through various sources including personal contacts, customer referrals, and referrals from other businesses. A significant portion of our business is the result of competitive bidding processes, and a significant portion of our business is from contract negotiation. We believe that the reputation we have developed with our current customers represents an important part of our marketing effort.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Requests for quotations received from customers are reviewed to determine the specific requirements and our ability to meet such requirements. Quotations are prepared by estimating the material and labor costs and assessing our current backlog to determine our delivery commitments. Competitive bid quotations are submitted to the customer for review and award of contract. Negotiation bids typically require the submission of additional information to substantiate the quotation. The bidding process can range from several weeks for a competitive bid to several&#160;months for a negotiation bid before the customer awards a contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Research and Product Development</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Many of our customers generate drawings illustrating their projected unit design and technology requirements. Our research and product development activities are limited and focused on delivering robust production solutions to such projected unit design and technology requirements. We follow this product development methodology in all our major product lines. For these reasons, we incurred no expenses for research and development in fiscal 2024 and fiscal 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Principal Customers</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">A significant portion of our business is generated by a small number of major customers. The balance of our business consists of discrete projects for numerous other customers. As industry and market demand changes, our major customers may also change. Our ten largest customers generated approximately 93% and 96% of our total revenue in fiscal 2024 and fiscal 2023, respectively. Our group of largest customers can change from year to year. Our largest single customer in fiscal 2024 and fiscal 2023 was a prime defense contractor and accounted for 28% and 20% of our net sales, respectively. Our defense customers are engaged in the development, delivery and support of advanced defense, security, and aerospace systems, including the U.S. Navy&#8217;s Virginia-class fast attack submarine program and the U.S. Navy&#8217;s Columbia-class ballistic missile submarine program. We also manufacture large flight-critical components on several high-profile commercial and military aircraft programs, including military helicopters. We have also served customers who supply components to the nuclear power industry.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></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;text-align:justify;margin:0pt 0pt 12pt 0pt;">We historically have experienced, and continue to experience, customer concentration. A significant loss of business from our largest customer or a combination of several of our significant customers could result in lower operating profitability and/or operating losses if we are unable to replace such lost revenue from other sources. The revenue derived from all of our customers in the designated industry groups for the fiscal&#160;years ended March&#160;31, 2024 and 2023 are displayed in the table below:</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:52.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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;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.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;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.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;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.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;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.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;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;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.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;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.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(dollars in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:20.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:20.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Net Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Defense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31,406</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 99</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 30,935</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;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:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Precision Industrial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 185</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.16%;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:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table displays revenue generated by individual customers in&#160;specific industry sectors that accounted for 10% or more of our revenue in either fiscal 2024 or fiscal 2023:</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:52.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;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.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;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;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.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;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.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;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.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;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.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;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;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.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;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.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(dollars in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:20.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:20.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:52.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Net Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Defense Customer 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,050</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,352</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;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:bottom;white-space:nowrap;width:8.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Defense Customer 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,780</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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:bottom;white-space:nowrap;width:8.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Defense Customer 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,831</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,249</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;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:bottom;white-space:nowrap;width:8.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Defense Customer 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,258</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> *</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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:bottom;white-space:nowrap;width:8.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> *</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Defense Customer 5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,320</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,839</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">*<i style="font-style:italic;">&#160;Less than 10% of total</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On March&#160;31, 2024, we had a backlog of orders totaling $50.0 million. We expect to deliver the backlog over the course of the next two to three fiscal&#160;years.&#160;The comparable backlog on March&#160;31, 2023 was $44.0 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Competition</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We face competition from both domestic and foreign entities in the manufacture of metal fabricated and machined precision components and equipment. The industry in which we compete is fragmented with no one dominant player. We compete against companies that are both larger and smaller than us in size and capacity. Some competitors may be better known, have greater resources at their disposal, and have lower production costs. For certain products, being a domestic manufacturer may play a role in determining whether we are awarded a certain contract. For example, we face limited foreign competition for our defense products. For other products and markets, we may be competing against foreign manufacturers who have a lower cost of production. If a contracting party has a relationship with a vendor and is required to place a contract for bids, the preferred vendor may provide or assist in the development of the specification for the product which may be tailored to that vendor&#8217;s products. In such event, we would be at a disadvantage in seeking to obtain that contract. We believe that customers focus on such factors as the quality of work, the reputation of the vendor, the perception of the vendor&#8217;s ability to meet the required schedule, and price in selecting a vendor for their products. We believe that our strengths in these areas allow us to compete effectively, and that as a result, we are one of a select group of companies that can provide the products and services we are able to provide.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Government Regulations</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We provide a significant portion of our manufacturing services as a subcontractor to prime government contractors. Such prime government contractors are subject to government procurement and acquisition regulations which give the government the right to terminate these contracts for convenience, certain renegotiation rights, and rights of inspection. Any government action which affects our customers who are prime government contractors would affect us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Because of the nature and use of our products, we are subject to compliance with quality assurance programs, compliance with which is a condition for our ability to bid on government contracts and subcontracts. We believe we are in compliance with all of these programs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We are also subject to laws and regulations applicable to manufacturing operations, such as federal and state occupational health and safety laws, and environmental laws, which are discussed in more detail below under <i style="font-style:italic;">&#8220;-Environmental Compliance</i>.&#8221;</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Environmental Compliance</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We are subject to U.S. federal, state and local environmental laws and regulations that pertain to the use, disposal and cleanup of substances regulated by those laws and the filing of reports with environmental agencies, and we are subject to periodic inspections to monitor our compliance. We believe that we are currently in compliance with applicable environmental regulations. As part of our normal business practice, we are required to develop and file reports and maintain logbooks that document all environmental issues within our organization. We may engage outside consultants to assist us in keeping current on developments in environmental regulations. Expenditures for environmental compliance purposes during fiscal 2024 and 2023 were not material.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Occupational Health and Safety Laws</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our business and operations are subject to numerous federal, state, and local laws and regulations intended to protect our employees. Due to the nature of manufacturing, we are subject to substantial regulations related to safety in the workplace. In addition to the requirements of the state government of Massachusetts and California and the local governments having jurisdiction over our plants in those states, we must comply with federal health and safety regulations, the most significant of which are enforced by the Occupational Safety and Health Administration (&#8220;OSHA&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Further, our manufacturing and other business operations and facilities are subject to additional federal, state, or local laws or regulations including supply chain transparency, conflict minerals sourcing and disclosure, transportation and other laws or regulations relating to health and safety requirements, including COVID-19 safety and prevention. Our operations are also subject to federal, state, and local labor laws relating to employee privacy, wage and hour matters, overtime pay, harassment and discrimination, equal opportunity and employee leaves and benefits. We are also subject to existing and emerging federal and state laws relating to data security and privacy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">It is our policy and practice to comply with all legal and regulatory requirements and our procedures and internal controls are designed to promote such compliance. Expenditures for compliance with occupational health and safety laws and regulations during fiscal 2024 and 2023 were not material.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Intellectual Property Rights</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Presently, we have no registered intellectual property rights other than certain trademarks for our name and other business and marketing materials. Over the course of our business, we develop know-how for use in the manufacturing process. Although we have non-disclosure policies in place with respect to our personnel and in our contractual relationships, we cannot assure you that we will be able to protect our intellectual property rights with respect to this know-how.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Human Capital Resources</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The success of our business depends in large part on our ability to attract, retain, and develop a workforce of skilled employees at all levels of our organization. We provide our employees base wages and salaries that we believe are competitive and consistent with employee positions, and work with local, regional, and state-wide agencies to facilitate workforce hiring and development initiatives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of March 31, 2024, we had 162 employees, of whom all are full time employees. At Ranor and Stadco, 20 and 19 employees are salaried, and 67 and 56 employees are hourly, respectively. None of our employees are represented by a labor union.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Available Information</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We maintain a website at techprecision.com. Information on our website is not incorporated by reference into this Annual Report on Form&#160;10-K and does not constitute a part of this Annual Report on Form&#160;10-K. We make available, free of charge, on our website our annual report on Form&#160;10-K, quarterly reports on Form&#160;10-Q, current reports on Form&#160;8-K and amendments to those reports filed or furnished pursuant to Section&#160;13(a)&#160;or 15(d)&#160;of the Securities Exchange Act of 1934, as amended, as soon as reasonably practicable after we electronically file such material with, or furnish it to, the SEC. These reports are also available at the SEC&#8217;s website at www.sec.gov.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_5ad9d3db_83f8_4e92_b1db_9114700ffce9"></a><a id="Item1ARiskFactors_638417"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;1A.&#160;&#160;&#160;&#160;&#160;Risk Factors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our business, results of operations and financial condition and the industry in which we operate are subject to various risks. We have listed below (not necessarily in order of importance or probability of occurrence) the most significant risk factors applicable to us, but they do not constitute all the risks that may be applicable to us. New risks may emerge from time to time, and it is not possible for us to predict all potential risks or to assess the likely impact of all risks. More information concerning certain of these risks is contained in other sections of this Annual Report on Form&#160;10-K, including in <i style="font-style:italic;">&#8220;Item&#160;7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.&#8221;</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:bold;">Risks Related to Our Business and Industry</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Our auditors have indicated that there is substantial doubt about our ability to continue as a going concern.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our liquidity is highly dependent on the availability of financing facilities and our ability to maintain a gross profit and operating income. The Company is the borrower under the amended and restated loan agreement with Berkshire Bank (the &#8220;Loan Agreement&#8221;). The Company has determined that it was not in compliance with the financial covenants in the Loan Agreement as of March 31, 2024. Additionally, our management believes it is probable that the Company will not be in compliance with these financial covenants in future periods. Without a waiver, noncompliance with these financial and related covenants permits the lender to demand repayment in full of all outstanding amounts from the Company. In addition, the lender retains the right to act on covenant violations that occur after the date of delivery of any waiver. If the lender were to demand repayment, the Company would not be able to pay the obligation because the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In order to satisfy the future financial covenants in the Loan Agreement, we must efficiently increase utilization of our manufacturing capacity at our Stadco subsidiary and improve the manufacturing process, such that our direct labor hours (inputs) allow us to recognize more revenue over time (outputs) and improve job performance. We plan to closely monitor our expenses and, if required, will reduce operating costs and capital spending to enhance liquidity. There can be no assurance that we will be successful in these efforts. If we are unable to achieve compliance in the future with the financial covenants in the Loan Agreement by making operational changes to our business, then we might alternatively seek additional waivers or forbearances from our lender prior to any covenant violation or raise additional funds in one or more equity financing transactions. Any covenant waiver or forbearance may lead to increased costs, increased interest rates, additional restrictive covenants and the imposition of other lender protections that impact us negatively. There can be no assurance that we would be able to obtain waivers or forbearances in a timely manner, on acceptable terms, or at all. Alternatively, the terms of any equity financing may adversely affect the holdings or the rights of our stockholders and the issuance of additional securities by us, or the possibility of such issuance, may cause the market price of our common stock to decline. The sale of additional shares of our common stock, or securities convertible into shares of our common stock, would also dilute all of our stockholders.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">There was $7.6 million outstanding under the Loan Agreement on March 31, 2024. Berkshire Bank is the lender under the Loan Agreement and has agreed to extend the maturity date of the revolver loan to January 15, 2025. The original maturity date of the revolver loan under the loan agreement was December 20, 2023. While the maturity date of the revolver loan has been extended, it is due within the next 12 months and, if we are not able to renew or further extend the maturity date of the revolver loan, we will need to raise additional funds in order meet our obligations with respect to the revolver loan and sustain our operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In addition to extending the maturity date of the revolver loan, the Company acknowledges that a certain event of default has occurred and is continuing under the Loan Agreement because of the Company&#8217;s failure to satisfy the Debt Service Coverage Ratio, or DSCR, for the twelve-month period ending March 31, 2024. The lender reserves any and all rights and remedies available to it under the Loan Agreement, including, without limitation, its right to choose to accelerate and demand the outstanding indebtedness evidenced by the loan documents, and to seek immediate repayment in full.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In the event that the lender accelerates the repayment of this indebtedness as the result of one or more breaches of covenant or the maturity date of the revolver loan is not renewed or further extended, we do not expect to have funds available to repay these amounts in full unless we raise additional funds or find alternate financing, which, along with the uncertainty associated with the recurring operating losses at Stadco, raises substantial doubt about the Company&#8217;s ability to continue as a going concern within one year after the date the consolidated financial statements included in this Annual Report on Form 10-K are issued. The consequences of any default, waiver or forbearance, or the securing of additional equity financing, could materially and adversely affect our business, financial condition, and results of operations.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">We may pursue acquisitions and other strategic transactions and/or investments to compliment or expand our business that may not be successful.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">From time to time, we may explore opportunities to purchase or invest in other businesses or assets that we believe will complement, enhance or expand our current business or that might otherwise offer us growth opportunities, including opportunities that may differ from the Company&#8217;s current business. Any transactions that we are able to identify and complete may involve risks, including the commitment of significant capital, the incurrence of indebtedness, the payment of advances, the diversion of management&#8217;s attention and resources from our existing business to develop and integrate the acquired or combined business, the inability to successfully integrate such business or assets into our operations, litigation or other claims in connection with acquisitions or against companies we invest in or acquire, the risk of not achieving the intended results and the exposure to losses if the underlying transactions or ventures are not successful.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Whether or not completed, the announcement and pendency of the potential acquisitions could cause disruptions in our business; and current and prospective employees may experience uncertainty about their future roles, which might adversely affect the ability to retain key employees; and uncertainty regarding the completion of the acquisition may cause customers, suppliers, distributors, vendors, strategic partners or others to delay or defer entering into contracts, make other decisions or seek to change or cancel existing business relationships; and the attention of management may be directed toward the completion of the acquisition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">We face strong competition in our markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We face competition from both domestic and foreign manufacturers in each of the markets we serve. No one company dominates the industry in which we operate. Our competitors include international, national, and local manufacturers, some of whom may have greater financial, manufacturing, marketing, and technical resources than we do, or greater penetration in or familiarity with a particular geographic market than we have.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Some competitors may be better known or have greater resources at their disposal, and some may have lower production costs. For certain products, being a domestic manufacturer may play a role in determining whether we are awarded a certain contract. For other products, we may be competing against foreign manufacturers who have a lower cost of production. If a contracting party has a relationship with a vendor and is required to place a contract for bids, the preferred vendor may provide or assist in the development of the specification for the product which may be tailored to that vendor&#8217;s products. In such event, we would be at a disadvantage in seeking to obtain that contract. We believe that customers focus on such factors as quality of work, reputation of the vendor, perception of the vendor&#8217;s ability to meet the required schedule, and price in selecting a vendor for their products. Some of our customers have moved manufacturing operations or product sourcing overseas, which can negatively impact our sales. To remain competitive, we will need to invest continuously in our manufacturing capabilities and customer service, and we may need to reduce our prices, particularly with respect to customers in industries that are experiencing downturns, which may adversely affect our results of operations. We cannot provide assurance that we will be able to maintain our competitive position in each of the markets that we serve, and any failure by us to complete could have a material adverse effect on our business, financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Because most of our contracts are individual purchase orders and not long-term agreements, there is no guarantee that we will be able to generate a similar amount of revenue in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We must bid or negotiate each of our contracts separately, and when we complete a contract, there is generally no continuing source of revenue under that contract. As a result, we cannot assure you that we will have a continuing stream of revenue from any contract. Our failure to generate new business on an ongoing basis would materially impair our ability to operate profitably. Additionally, our reliance on individual purchase orders has historically caused, and may in future periods cause, our results of operations and cash flows to vary considerably and unpredictably from period to period. Because a significant portion of our revenue is derived from services rendered for the defense, aerospace, nuclear, large medical device and precision industrial markets, our operating results may suffer from conditions affecting these industries, including any budgeting, economic or other trends that have the effect of reducing the requirements for our services. Lingering impacts from the COVID-19 pandemic, labor shortages and/or supply chain disruptions in the broader economy may also reduce demand for our products and services because of delays or disruptions in our customers&#8217; ability to continue their own production, which could have a material adverse effect on our business, financial condition, or results of operation.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our business may be impacted by external factors that we may not be able to control, including health emergencies like epidemics or pandemics, and the war between Russia and Ukraine.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">War, civil conflict, terrorism, natural disasters, and public health issues including domestic or international pandemics, have caused and could cause damage or disruption to domestic or international commerce by creating economic or political uncertainties. Additionally, volatility in the financial markets, instability in the banking sector and disruptions or downturns in other areas of the global or U.S. economies could negatively impact our business. These events could result in a decrease in demand for our products, make it difficult or impossible to deliver orders to customers or receive materials from suppliers, affect the availability or pricing of energy sources or result in other severe consequences that may or may not be predictable. As a result, our business, financial condition and results of operations could be materially adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We could also be negatively affected by health emergencies, including epidemics or pandemics. The effects of any such health emergency and related governmental responses could include extended disruptions to supply chains and capital markets, reduced labor availability and productivity and a prolonged reduction in demand for our services and overall global economic activity. This could result in the Company experiencing significant disruptions, which could have a material adverse effect on our results of operations, financial condition, and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">To date, the company has not experienced any material effects from the war between Russia and Ukraine and sanctions placed on the Russian Federation and Belarus. However, because of our reliance on certain raw materials and energy supplies, an economic environment of rising costs and interest rates could have an unfavorable impact our operations and financial condition. Additionally, recent events involving limited liquidity, defaults, non-performance or other adverse developments that affect banks, financial institutions, transactional counterparties or other companies in the financial services industry or the financial services industry generally, or concerns or rumors about any events of these kinds or other similar risks, have recently and may in the future lead to market-wide liquidity problems, which could impact demand for our products. This uncertainty regarding liquidity concerns in the financial services industry could adversely impact our business, our business partners, or industry as a whole in ways that we cannot predict at this time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Because of our dependence on a limited number of customers, our failure to generate major contracts from a small number of customers may impair our ability to operate profitably.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have, in the past, been dependent in each year on a small number of customers who generate a significant portion of our business, and these customers change from year to year. For the year ended March 31, 2024, our four largest customers accounted for approximately 61% of our revenue. For the year ended March 31, 2023, our four largest customers accounted for approximately 64% of our revenue. In addition, our backlog on March 31, 2024 and 2023 was $50.0 million and $44.0 million, respectively, of which 76% and 83% was attributable to four customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As a result, we may have difficulty operating profitably if there is a default in payment by any of our major customers, we lose an existing order, or we are unable to generate orders from new or existing customers. Furthermore, to the extent that any one customer accounts for a large percentage of our revenue, the loss of that customer could materially affect our ability to operate profitably. For example, our largest customer in the fiscal years ended March 31, 2024 and 2023 accounted for 28% and 20%, respectively, of our revenue for both years. The loss of these customers could have a material adverse effect upon our business and may impair our ability to operate profitably. We anticipate that our dependence on a limited number of customers in any given fiscal year will continue for the foreseeable future. There is always a risk that existing customers will elect not to do business with us in the future or will experience financial difficulties. If our customers experience financial difficulties or business reversals, or lose orders or anticipated orders, which would reduce or eliminate the need for the products which they ordered from us, they could be unable or unwilling to fulfill their contracts with us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">There is also a risk that our customers will attempt to impose new or additional requirements on us that reduce the profitability of the orders placed by those customers with us. Further, even if the orders are not changed, these orders may not generate margins equal to our recent historical or targeted results. If we do not book more orders with existing customers, or develop relationships with new customers, we may not be able to increase, or even maintain, our revenue, and our financial condition, results of operations, business and/or prospects may be materially adversely affected.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Our backlog figures may not accurately predict future sales or recognizable revenue.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We expect to fill most items of backlog within the next three&#160;years. However, because orders may be rescheduled or canceled and a significant portion of our net sales is derived from a small number of customers, backlog is not necessarily indicative of future sales levels. Moreover, we cannot be sure of when during the future 36-month period we will be able to recognize revenue corresponding to our backlog nor can we be certain that revenues corresponding to our backlog will not fall into periods beyond the 36-month horizon.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Any decrease in the availability, or increase in the cost, of raw materials could materially affect our earnings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The availability of certain critical raw materials, such as steel, nickel, monel, inconel, aluminum, stainless steel, and other alloys, is subject to factors that are not within our control. At any given time, we may be unable to obtain an adequate supply of these critical raw materials on a timely basis, at prices and other terms acceptable to us, or at all.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">If suppliers increase the price of critical raw materials or are unwilling or unable to meet our demand, we may not have alternative sources of supply. In addition, to the extent that we have existing contracts or have quoted prices to customers and accepted customer orders for products prior to purchasing the necessary raw materials, we may be unable to raise the price of products to cover all or part of the increased cost of the raw materials.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The manufacture of some of our products is a complex process and requires long lead times. As a result, we may experience delays or shortages in the supply of raw materials. If we are unable to obtain adequate and timely deliveries of required raw materials, we may be unable to complete our manufacturing projects and deliver finished products on a timely basis. This could cause us to lose sales, incur additional costs, delay new product introductions, or suffer harm to our reputation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In addition, costs of certain critical raw materials have been volatile due to factors beyond our control. Raw material costs are included in our contracts with customers, but in some cases, we are exposed to changes in raw material costs from the time purchase orders are placed to when we purchase the raw materials for production. Changes in business conditions could adversely affect our ability to recover rapid increases in raw material costs and may adversely affect our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Additionally, changes in international trade duties and other aspects of international trade policy, both in the U.S. and abroad, could materially impact the cost of raw materials. For example, from March 2018 until March 2021, the U.S. imposed an additional 25% tariff under Section 232 of the Trade Expansion Act of 1962, as amended, on steel products imported into the U.S. While these tariffs have mostly been lifted on imports from countries other than the Peoples&#8217; Republic of China, imports from many jurisdictions are subject to limitations on volume, after which substantial tariffs will be reimposed. The U.S. also imposed a 10% tariff on all aluminum imports into the United States, with initial exemptions for aluminum imported from certain U.S. trading partners. Such actions could increase steel and aluminum costs and decrease supply availability. In response to the invasion of Ukraine by the military forces of the Russian Federation, the United States, the European Union and other jurisdictions have imposed sanctions that, among other things, prohibit the importation of a wide array of commodities and products from Russia, which is a major global supplier of nickel. Any increase in nickel, steel and/or aluminum prices that is not offset by an increase in our prices could have an adverse effect on our business, financial position, results of operations or cash flows. In addition, if we are unable to acquire timely nickel, steel or aluminum supplies, we may need to decline bid and order opportunities, which could also have an adverse effect on our business, financial position, results of operations or cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">All of our manufacturing and production is done at two locations, in California and Massachusetts. We may be exposed to significant disruption to our business as a result of unforeseeable developments at either geographic location.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We operate at two manufacturing and production facilities in Westminster, Massachusetts and Los Angeles, California. It is possible that we could experience prolonged periods of reduced production due to unforeseen catastrophic events occurring in or around our manufacturing and production facilities. It is also possible that operations could be disrupted due to other unforeseen circumstances such as power outages, explosions, fires (including wildfires), floods, earthquakes, accidents, and severe weather conditions. As a result, we may be unable to shift manufacturing capabilities to alternate locations, accept materials from suppliers, meet customer shipment needs or address other severe consequences that may be encountered, and we may suffer damage to our reputation. Our financial condition and results of our operations could be materially adversely affected were such events to occur.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our manufacturing processes are complex, must constantly be upgraded to remain competitive and depend upon critical, high-cost equipment that may require costly repair or replacement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">It is possible that we could experience prolonged periods of reduced production due to unplanned equipment failures, and we could incur significant repair or replacement costs in the event of those failures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We must make regular capital investments and changes to our manufacturing processes to lower production costs, improve productivity, manufacture new or improved products and remain competitive. We may not be able to take advantage of business opportunities or respond to competitive pressures if we fail to update, replace or make additions to our equipment or our manufacturing processes in a timely manner. The cost to repair or replace much of our equipment or facilities could be significant. We cannot be certain that we will have sufficient internally generated cash or acceptable external financing to make necessary capital expenditures in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our production facilities are energy-intensive, and we rely on third parties to supply energy consumed at our production facilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The prices for and availability of electricity, natural gas, oil, and other energy resources are subject to volatile market conditions. These market conditions often are affected by political and economic factors beyond our control, including the imposition of sanctions on the Russian Federation that prevent it from selling its significant sources of oil and natural gas into key international markets, which impacts the global price of these commodities. Disruptions or lack of availability in the supply of energy resources could temporarily impair our ability to operate our production facility. Further, increases in energy costs, or changes in costs relative to energy costs paid by competitors, may adversely affect our profitability. To the extent that these uncertainties cause suppliers and customers to be more cost sensitive, increased energy prices may have an adverse effect on our results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">The dangers inherent in our operations and the limits on insurance coverage could expose us to potentially significant liability costs and materially interfere with the performance of our operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The fabrication of large steel structures involves potential operating hazards that can cause personal injury or loss of life, severe damage to and destruction of property and equipment and suspension of operations. The failure of such structures during and after installation can result in similar injuries and damages. Although we believe that our insurance coverage is adequate, there can be no assurance that we will be able to maintain adequate insurance in the future at rates we consider reasonable or that our insurance coverage will be adequate to cover future claims that may arise. Claims for which we are not fully insured may adversely affect our working capital and profitability. In addition, changes in the insurance industry have generally led to higher insurance costs and decreased availability of coverage. The availability of insurance that covers risks we and our competitors typically insure against may decrease, and the insurance that we are able to obtain may have higher deductibles, higher premiums, and more restrictive policy terms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our operating results may fluctuate significantly from quarter to quarter, and we cannot be certain that we will maintain profitability in every quarterly reporting period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our operating results historically have been difficult to predict and have at times significantly fluctuated from quarter to quarter due to a variety of factors, many of which are outside of our control. Among these factors includes the fact that most of our contracts are individual purchase orders and not long-term agreements. Additionally, our ability to meet project completion schedules for an individual project and record the corresponding revenue over-time can fluctuate and cause significant changes in our revenue and other financial results. As a result of these factors, comparing our operating results on a period-to-period basis may not be meaningful, and you should not rely on our past results as an indication of our future performance. Our operating expenses do not always vary directly with revenue and may be difficult to adjust in the short term. As a result, if revenue for a particular quarter is below our expectations, we may not be able to proportionately reduce operating expenses for that quarter, and therefore such a revenue shortfall would have a disproportionate effect on our operating results for that quarter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">We recognize revenue for our defense contracts and some commercial contracts based on percentage of completion that requires significant management judgement. Errors made to our estimates of revenue and costs could result in overstated or understated profits or losses, subject to adjustment.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For most of our defense industry contracts, we recognize revenue over time as we perform services or deliver goods. In situations where control transfers or services are performed over time, revenue is recognized based on the extent of progress towards completion of the performance obligation. We recognize revenue over time based on the transfer of control of the promised goods or services to the customer, or at a point in time. This transfer will occur over time when the Company&#8217;s performance does not create an asset that has an </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">alternative use to the Company, and we have an enforceable right to payment for performance completed to date. Otherwise, control to the promised goods or services transfers to customers at a point in time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Due to the size and nature of the work required to be performed on many of our contracts, the estimation of total revenue and cost at completion is complicated and subject to many variables. Contract costs include material, labor, and subcontracting costs, as well as an allocation of indirect costs. We are required to make assumptions regarding the number of labor hours required to complete a task, the complexity of the work to be performed, the availability and cost of materials and performance by our subcontractors. For contract change orders, claims or similar items, we apply judgment in estimating the amounts and assessing the potential for realization. Contract modifications - as well as other changes in estimates of sales, costs, and profits on a performance obligation - are recognized using the cumulative catch-up method of accounting. This method recognizes in the current period the cumulative effect of the changes in current and prior periods. If our estimate of total contract costs or our determination of whether the customer agrees that a milestone is achieved is incorrect, our revenue could be overstated or understated, and the profits or loss reported could be subject to adjustment. If our revenues and costs require adjustment, our stock price could decline.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Demand in our end-use markets can be cyclical, impacting the demand for the products we produce.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Demand in our end-use markets, including companies in the defense, aerospace, precision industrial, and nuclear industries, can be cyclical in nature and sensitive to general economic conditions, competitive influences, and fluctuations in inventory levels throughout the supply chain. Our sales are sensitive to the market conditions present in the industries in which the ultimate consumers of our products operate, which in some cases have been highly cyclical and subject to substantial downturns.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As a result of the cyclical nature of these markets, we have experienced, and in the future, we may experience, significant fluctuations in our sales and results of operations with respect to a substantial portion of our total product offering, and such fluctuations could be material and adverse to our overall financial condition, results of operations and liquidity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">We could be adversely affected by reductions in defense spending.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Because certain of our products are used in a variety of military applications, including ships, submarines and helicopters, we derive most of our revenue from the defense industry. In fiscal 2024 and 2023, approximately 99% and 98% of our revenue was derived from customers in the defense industry. Although many of the programs under which we sell products to prime U.S. government contractors extend several years, they are subject to annual funding through congressional appropriations. While spending authorizations for defense-related programs by the U.S. government have increased in recent years due to greater homeland security and foreign military commitments, these spending levels may not be sustainable and could significantly decline. Future levels of expenditures, authorizations, and appropriations for programs we support may decrease or shift to programs in areas where we do not currently provide services. Changes in spending authorizations, appropriations, and budgetary priorities could also occur due to a shift in the number, and intensity, of potential and ongoing conflicts, the rapid growth of the federal budget deficit, increasing political pressure to reduce overall levels of government spending, shifts in spending priorities from national defense as a result of competing demands for federal funds, or other factors. It is also possible that Russia&#8217;s invasion of Ukraine causes a reorientation of US defense spending away from the naval submarine programs from which we derive substantial portions of our revenue towards land-based military projects, which could involve fewer programs in which our products would be needed. Our business prospects, financial condition or operating results could be materially harmed among other causes by the following: 1) budgetary constraints affecting U.S. government spending generally, or specific departments or agencies in particular, and changes in available funding, such as federal government sequestration (automatic spending cuts); 2) changes in U.S. government programs or requirements; and 3) a prolonged U.S. government shutdown and other potential delays in the appropriations process.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Failure to obtain and retain skilled technical personnel could adversely affect our operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our production facilities require skilled personnel to operate and provide technical services and support for our business. Competition for the personnel required for our business intensifies as activity increases. In periods of high utilization, it may become more difficult to find and retain qualified individuals, and there can be no assurance that we will be successful in attracting and retaining qualified personnel to fulfill our current or future needs. This could increase our costs or have other adverse effects on our results of operations.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">The extensive environmental, health and safety regulatory regimes applicable to our manufacturing operations create potential exposure to significant liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The nature of our manufacturing business subjects our operations to numerous and varied federal, state, local and international laws and regulations relating to pollution, protection of public health and the environment, natural resource damages and occupational safety and health. Failure to comply with these laws and regulations, or with the permits required for our operations, could result in fines or civil or criminal sanctions, third party claims for property damage or personal injury, and investigation and cleanup costs. Potentially significant expenditures could be required in order to comply with environmental laws that may be adopted or imposed in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have used, and currently use, certain substances that are considered hazardous, extremely hazardous or toxic under worker safety and health laws and regulations. Although we implement controls and procedures designed to reduce continuing risk of adverse impacts and health and safety issues, we could incur substantial cleanup costs, fines and civil or criminal sanctions, and third party property damage or personal injury claims as a result of violations, non-compliance or liabilities under these regulatory regimes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As a manufacturing business, we also must comply with federal and state environmental laws and regulations which relate to the manner in which we store and dispose of materials and the reports that we are required to file. We cannot assure you that we will not incur additional costs to maintain compliance with environmental laws and regulations or that we will not incur significant penalties for failure to be in compliance any of which could have a material adverse effect on our business, financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our systems and information technology infrastructure may be subject to security breaches and other cybersecurity incidents.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We rely on the accuracy, capacity, and security of our information technology systems to obtain, process, analyze, and manage data, as well as to facilitate the manufacture and distribution of products to and from our facility. We receive, process and ship orders, manage the billing of and collections from our customers, and manage the accounting for and payment to our vendors. Maintaining the security of computers, computer networks, and data storage resources is a critical issue for us and our customers, as security breaches could result in vulnerabilities and loss of and/or unauthorized access to confidential information. We may face attempts by experienced hackers, cybercriminals, hostile nation-state actors, or others with authorized access to our systems to misappropriate our proprietary information and technology, interrupt our business, and/or gain unauthorized access to confidential information. The reliability and security of our information technology infrastructure and software, and our ability to expand and continually update technologies in response to our changing needs is critical to our business. To the extent that any disruptions or security breaches result in a loss or damage to our data, it could cause harm to our reputation. This could lead some customers to stop using us for building their products and reduce or delay future purchases of our products or use competing products. In addition, we could face enforcement actions by U.S. states, the U.S. federal government, or foreign governments, which could result in fines, penalties, and/or other liabilities and which may cause us to incur legal fees and costs, and/or additional costs associated with responding to the cyberattack. Increased regulation regarding cybersecurity may increase our costs of compliance, including fines and penalties, as well as costs of cybersecurity audits. Any of these actions could materially adversely impact our business, financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">We are subject to regulations related to conflict minerals which could adversely impact our business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We are subject to SEC rules&#160;regarding disclosure of the use of tin, tantalum, tungsten, gold and certain other minerals, known as conflict minerals, in products manufactured by public companies. These rules&#160;require that public companies conduct due diligence to determine whether such minerals originated from the Democratic Republic of Congo, or the DRC, or an adjoining country and whether such minerals helped finance the armed conflict in the DRC. These rules&#160;require ongoing due diligence efforts, along with annual conflict minerals reports. There are costs associated with complying with these disclosure requirements, including costs to determine the origin of conflict minerals used in our products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In addition, these rules&#160;could adversely affect the sourcing, supply and pricing of materials used in our products. As there may be only a limited number of suppliers offering conflict-free minerals, we cannot be sure that we will be able to obtain necessary conflict minerals from such suppliers in sufficient quantities or at competitive prices. Also, we may face reputational challenges if the due diligence procedures we implement do not enable us to verify the origins for all conflict minerals or to determine that such minerals are DRC conflict-free. We may also encounter challenges to satisfy customers that may require all of the components of products purchased to be certified as DRC conflict-free because our supply chain is complex. If we are not able to meet customer requirements, customers may choose to disqualify us as a supplier.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We currently do not use any conflict minerals in the production of our products, but from time to time we may receive a customer order necessitating the use of conflict minerals. In the event we produce any products utilizing conflict minerals, we will be required to comply with the rules&#160;discussed above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Changes in delivery schedules and order specifications may affect our revenue stream.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Although we perform manufacturing services pursuant to orders placed by our customers, we have in the past experienced delays in scheduling and changes in the specification of our products. Delays in scheduling have been and, in the future, may be caused by disruptions relating to epidemics, pandemics and government-imposed lockdowns, or economy-wide supply chain disruptions, while changes in order specifications may result from a number of factors, including a determination by the customer that the product specifications need to be changed after receipt of an initial product or prototype. As a result of these changes, we may suffer a delay in the recognition of revenue from projects and may incur contract losses. We cannot assure you that our results of operations will not be affected in the future by delays or changes in specifications or that we will ever be able to recoup revenue which was lost as a result of the delays or changes. Further, if we cannot allocate our personnel to a different project, we will continue to incur expenses relating to the initial project, including labor and overhead. Thus, if orders are postponed, our results of operations would be impacted by our need to maintain staffing and other expense-generating aspects of production for the postponed projects, even though they were not fully utilized, and revenue associated with the project will not be recognized during this period. We cannot assure that our operating results will not decline in future periods as a result of changes in customers&#8217; orders.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Negative economic conditions may adversely impact the demand for our services and the ability of our customers to meet their obligations to us on a timely basis.&#160;Any disputes with customers could also have an adverse impact on our income and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Negative economic conditions, including tightening of credit in financial markets as a result of increases in interest rates and/or instability in the banking system, may lead businesses to postpone spending, which may impact our customers, causing them to cancel, decrease or delay their existing and future orders with us. Declines in economic conditions may further impact the ability of our customers to meet their obligations to us on a timely basis. If customers are unable to meet their obligations to us on a timely basis, it could adversely impact the realization of receivables, the valuation of inventories and the valuation of long-lived assets. Additionally, we may be negatively affected by contractual disputes with customers, which could have an adverse impact on our financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">If our customers successfully assert product liability claims against us due to defects in our products, our operating results may suffer and our reputation may be harmed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Due to the circumstances under which many of our products are used and the fact that some of our products are relied upon by our customers in their facilities or operations, we face an inherent risk of exposure to claims in the event that the failure, use or misuse of our products results, or is alleged to result, in bodily injury, property damage or economic loss. We have been subject to product liability claims in the past, and we may be subject to claims in the future. A successful product liability claim or series of claims against us, or a significant warranty claim or series of claims against us could materially decrease our liquidity and impair our financial condition and also materially and adversely affect our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">We maintain a substantial amount of outstanding indebtedness, which could impair our ability to operate our business and react to changes in our business, remain in compliance with debt covenants and make payments on our debt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our level of indebtedness could have important consequences, including, without limitation:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">increasing our vulnerability to general economic and industry conditions because our debt payment obligations may limit our ability to use our cash to respond to or defend against changes in the industry or the economy;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">requiring a substantial portion of our cash flow from operations to be dedicated to the payment of principal and interest on our indebtedness, therefore reducing our ability to use our cash flow to fund our operations, capital expenditures and future business opportunities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">limiting our ability to obtain additional financing for working capital, capital expenditures, debt service requirements, acquisitions and general corporate or other purposes;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">limiting our ability to pursue our growth strategy, including restricting us from making strategic acquisitions or causing us to make non-strategic divestitures;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">placing us at a disadvantage compared to our competitors who are less leveraged and may be better able to use their cash flow to fund competitive responses to changing industry, market or economic conditions; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">making us more vulnerable in the event of a downturn in our business, our industry, or the economy in general.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Because certain of our borrowing facilities contain variable interest rate provisions, many of the above consequences could be worsened if interest rates continue to rise. In addition, our current credit facilities contain, and any future credit facilities to which we become a party will likely contain, covenants and other provisions that restrict our operations. These restrictive covenants and provisions could limit our ability to obtain future financings, make needed capital expenditures, withstand a future downturn in our business, or the economy in general, or otherwise conduct necessary corporate activities, and may prevent us from taking advantage of business opportunities that arise in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">If we refinance our credit facilities, we cannot guarantee that any new credit facility will not contain similar covenants and restrictions.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our liquidity is highly dependent on our available financing facilities and ability to improve our gross profit and operating income. Our failure to obtain new or additional financing, if required, could impair our ability to both serve our existing customer base and develop new customers and could result in our failure to continue to operate as a going concern. To the extent that we require new or additional financing, we cannot assure you that we will be able to get such financing on terms equal to or better than the terms of our current credit facilities with Berkshire Bank. If we are unable to borrow funds under an existing credit facility, it may be necessary for us to conduct an offering of debt and/or equity securities on terms which may be disadvantageous to us or have a negative impact on our outstanding securities and the holders of such securities. In the event of an equity offering, it may be necessary that we offer such securities at a price that is significantly below our current trading levels which may result in substantial dilution to our investors that do not participate in the offering and a new lower trading level for our common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">We may need new or additional financing in the future to expand our business or refinance existing indebtedness, and our inability to obtain capital on satisfactory terms or at all may have an adverse impact on our operations and our financial results.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We may need new or additional financing in the future to expand our business, refinance existing indebtedness or make strategic acquisitions, and our inability to obtain capital on satisfactory terms or at all may have an adverse impact on our operations, financial condition, or results of operations. As we grow our business, we may have to incur significant capital expenditures. We may make capital investments to, among other things, build new or upgrade our existing facilities, purchase or lease new equipment and enhance our production processes. If we are unable to access capital on satisfactory terms and conditions, we may not be able to expand our business or meet our payment requirements under our existing credit facilities. Our ability to obtain new or additional financing will depend on a variety of factors, many of which are beyond our control. We may not be able to obtain new or additional financing because we may have substantial debt, our current receivable and inventory balances may not support additional debt availability or because we may not have sufficient cash flows to service or repay our existing or future debt. In addition, depending on market conditions and our financial performance, equity financing may not be available on satisfactory terms or at all. Moreover, if we raise additional funds through issuances of equity or convertible debt securities, our current stockholders could suffer significant dilution, and any new equity securities we issue could have rights, preferences, and privileges superior to those of holders of our common stock. If we are unable to access capital on satisfactory terms and conditions, this could have an adverse impact on our business, results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Any deterioration or disruption of the credit and capital markets may adversely affect our access to sources of funding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Disruptions in the credit markets can cause severely restricted access to capital for companies. In particular, recent events involving limited liquidity, defaults, non-performance or other adverse developments that have affected banks, financial institutions, transactional counterparties or other companies in the financial services industry or the financial services industry generally, including, for example, Silicon Valley Bank, Signature Bank or First Republic Bank, or concerns or rumors about any events of these kinds or other similar risks, have and may in the future lead to market-wide liquidity problems. When credit markets deteriorate or are disrupted, our ability to incur additional indebtedness to fund a portion of our working capital needs and other general corporate purposes, or to refinance maturing obligations as they become due, may be constrained. This risk could be exacerbated by future deterioration in the Company&#8217;s credit ratings. In addition, if the counterparty backing our existing credit facilities were unable to perform on its commitments, our liquidity could be impacted, which could adversely affect funding of working capital requirements and other general corporate purposes. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In the event we need to access the capital markets or other sources of financing, there can be no assurance that we will be able to obtain financing on acceptable terms or within an acceptable time, if at all. In addition, Russia&#8217;s invasion of Ukraine, high inflation and increasing interest rates have significantly disrupted world financial markets, increased volatility in U.S. capital markets, and may reduce opportunities for us to seek additional funding. Our inability to obtain financing on terms and within a time acceptable to us could have an adverse impact on our results of operations, financial condition, and liquidity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:bold;">Risks Related to our Common Stock</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">If we fail to regain compliance with The Nasdaq Stock Market&#8217;s listing standards, our common stock could be delisted from Nasdaq.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As a listed Nasdaq Stock Market (&#8220;Nasdaq&#8221;) company, we are subject to rules covering, among other things, certain major corporate transactions, the composition of our board of directors and committees thereof, the minimum bid price of our common stock and minimum stockholders&#8217; equity. Nasdaq also has rules governing the timely filing of periodic reports we have received notices from the Listing Qualifications Department of Nasdaq that we were not in compliance with Nasdaq Listing Rule 5250(c)(1) (the &#8220;Timely Filing Requirement&#8221;) because we had not timely filed our Quarterly Report on Form 10-Q for the fiscal quarter ended December 31, 2023 (the &#8220;Q3 2024 10-Q&#8221;), our Annual Report on Form 10-K for the fiscal year ended March 31, 2024 (the &#8220;FY 2024 10-K&#8221;) and our Quarterly Report on Form 10-Q for the fiscal quarter ended June 30, 2024 (the &#8220;Q1 2025 10-Q&#8221;) with the SEC on or before the applicable period provided for each filing. While we have filed our Q3 2023 10-Q and our FY 2024 10-K, our Q1 2025 10-Q has not yet been filed with the SEC and we will not regain compliance with the Timely Filing Requirement until our Q1 2025 10-Q has been filed with the SEC. The failure to meet any Nasdaq requirements may result in the delisting of our common stock from Nasdaq, which could adversely affect the liquidity and market price of our common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">If our common stock were to be delisted, selling shares of our common stock could be more difficult because smaller quantities of shares would likely be bought and sold, transactions could be delayed, and security analysts&#8217; coverage of us may be reduced. In addition, in the event our common stock is delisted, broker-dealers have certain regulatory requirements imposed upon them, which may discourage broker-dealers from effecting transactions in our common stock, further limiting the liquidity thereof. These factors could result in lower prices for shares of our common stock and/or limit an investor&#8217;s ability to execute a transaction. In addition, delisting from Nasdaq could also impair our ability to raise additional necessary capital through equity or debt financing, and could lead to significant dilution to our stockholders caused by our issuing equity in financing or other transactions at a price per share significantly below the then market price.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">We could be negatively affected as a result of a proxy contest and the actions of activist stockholders.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On July 2, 2024, our board of directors received notice from a stockholder of the stockholder&#8217;s intention to nominate two nominees to stand for election to our board of directors at our 2024 annual meeting of stockholders. A proxy contest with respect to election of our directors, or other activist stockholder activities, could adversely affect our business because: (1) responding to a proxy contest and other actions by activist stockholders can be costly and time-consuming, disruptive to our operations and divert the attention of management and our employees; (2) perceived uncertainties as to our future direction caused by activist activities may result in the loss of potential business opportunities, and may make it more difficult to attract and retain qualified personnel and business partners; and (3) if individuals are elected to our board of directors with a specific agenda, it may adversely affect our ability to effectively and timely implement our strategic plans.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our stock price may fluctuate significantly.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The stock market can experience significant volatility, and the volatility of stocks often does not relate to the operating performance of the companies represented by the stock. The market price of our common stock could be subject to significant fluctuations because of general market conditions and because of factors specifically related to our businesses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Factors that could cause volatility in the market price of our common stock include market conditions affecting our customers&#8217; businesses, including the level of mergers and acquisitions activity, anticipated changes in spending on national defense by the U.S. Government, and actual and anticipated fluctuations in our quarterly operating results, rumors relating to us or our competitors, actions of stockholders, including sales of shares by our directors and executive officers, additions or departures of key personnel, and developments concerning current or future strategic alliances or acquisitions. Volatility in our stock price may also be enhanced by the fact that our common stock is often thinly traded. Additionally, the economic and other consequences of the recent instability in the banking system, Russia&#8217;s invasion of Ukraine, high inflation and increasing interest rates have resulted in significant volatility in the equity capital markets as the economy begins to recover.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">These and other factors may cause the market price and demand for our common stock to fluctuate substantially, which may limit or prevent investors from readily selling their shares of common stock at a profit and may otherwise negatively affect the liquidity of our common stock. In addition, in the past, when the market price of a stock has been volatile, holders of that stock have instituted securities class action litigation against the company that issued the stock. If any of our stockholders brought a lawsuit against us, even if the lawsuit is without merit, we could incur substantial costs defending the lawsuit. Such a lawsuit could also divert the time and attention of our management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">The issuance of shares of our common stock as compensation may dilute the value of existing stockholders and may affect the market price of our stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We may use, and have in the past used, stock options, stock grants and other equity-based incentives to provide motivation and compensation to our directors, officers, employees and key independent consultants. The award of any such incentives will result in immediate and potentially substantial dilution to our existing stockholders and could result in a decline in the value of our stock price. The exercise of these options and the sale of stock issued upon such exercise or pursuant to stock grants may have an adverse effect upon the price of our stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">The number of shares of common stock we have registered for resale and the number of shares we expect to register for resale in the future are significant in relation to the number of our outstanding shares of common stock.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We filed a Registration Statement on January 7, 2022, which was declared effective on January 18, 2022, to register the resale of shares of our common stock into the public market by certain stockholders that acquired shares of our common stock in transactions not registered under the Securities Act. In addition, we are obligated to register for resale the Stock Termination Fee and the shares of common stock that could be sold by participants in the July Private Placement (as defined below), including shares underlying PIPE Warrants (as defined below). These shares represent a significant number of shares of our total number of issued and outstanding shares of common stock. The resale by these stockholders of a significant number of these shares, or the perception in the public markets that such selling securityholders may sell all or a portion of such securities, could depress the market price of our Common Stock during the period the applicable registration statement remains effective.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Trading volume of our common stock has fluctuated from time to time and is typically low, which may make it difficult for investors to sell their shares at times and prices that investors feel are appropriate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">To date, the trading volume of our common stock has fluctuated, and there is typically a low volume of trading in our common stock. Generally, lower trading volumes adversely affect the liquidity of our common stock, not only in terms of the number of shares that can be bought and sold at a given price, but also through delays in the timing of transactions and reduction in security analysts&#8217; and the media&#8217;s coverage of us. This may result in lower prices for our common stock than might otherwise be obtained and could also result in a larger spread between the bid and asked prices for our common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Because of our cash requirements and restrictions in our debt agreements, we may be unable to pay dividends.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In view of the cash requirements of our business, we expect to use any cash flow generated by our business to finance our operations and growth and to service our indebtedness. Further, we are subject to certain affirmative and negative covenants under our debt agreements which restrict our ability to declare or pay any dividend or other distribution on equity, purchase or retire any equity, or alter our capital structure. Accordingly, any return to stockholders will be limited to the appreciation of the value of their holdings of our stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">The rights of the holders of our common stock may be impaired by the potential issuance of preferred stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our certificate of incorporation gives our board of directors the right to create new series of preferred stock. As a result, the board of directors may, without stockholder approval, issue preferred stock with voting, dividend, conversion, liquidation, or other rights that are superior to the rights associated with our common stock, which could adversely affect the voting power and equity interest of the holders of our common stock. Preferred stock, which could be issued with the right to more than one vote per share, could be utilized as a method of discouraging, delaying, or preventing a change of control. The possible impact on takeover attempts could adversely affect the price of our common stock.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:bold;">General Risk Factors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">If securities analysts do not publish research or reports about our business, if they issue unfavorable commentary or downgrade their rating on our common stock, or if we fail to meet projections and estimates of earnings developed by such analysts, the price of our common stock could decline.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The trading market for our common stock relies in part on the research and reports that securities analysts publish about us and our business. The price of our common stock could decline if one or more analysts downgrade their rating on our common stock or if those analysts issue other unfavorable commentary or cease publishing reports about us or our business. In addition, although we do not make projections relating to our future operating results, our operating results may fall below the expectations of securities analysts and investors. In this event, the market price of our common stock would likely be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have identified certain material weaknesses in our internal control over financial reporting, resulting from control deficiencies related to 1) an insufficient complement of Stadco accounting staff necessary to consistently perform management review controls over financial information and complete account reconciliations on a timely basis to ensure all transactions were accurately captured and recorded, 2) initial purchase accounting and fair value accounting associated with the Stadco acquisition, and 3) adjustments related to tax accounting for a deficient analysis of the valuation allowance. If we fail to maintain effective internal controls over financial reporting, our ability to produce accurate and timely financial statements could be impaired, which could harm our operating results, our ability to operate our business and investors&#8217; views of us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We are subject to the Sarbanes-Oxley Act, which requires public companies to include in their annual report a statement of management&#8217;s responsibilities for establishing and maintaining adequate internal control over financial reporting, together with an assessment of the effectiveness of those internal controls. Ensuring that we have effective internal financial and accounting controls and procedures in place so that we can produce accurate financial statements on a timely basis is a costly and time-consuming effort that needs to be re-evaluated frequently. Our failure to maintain the effectiveness of our internal controls in accordance with the requirements of the Sarbanes-Oxley Act could have a material adverse effect on our business. We could lose investor confidence in the accuracy and completeness of our financial reports, which could have an adverse effect on the price of our common stock, and could result in us being the subject of regulatory scrutiny.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">During the evaluation and testing process of our internal controls, if we identify one or more material weaknesses in our internal control over financial reporting, we will be unable to assert that our internal controls over financial reporting are effective. For example, in connection with the audit of our financial statements as of and for the year ended March 31, 2024, we identified three material weaknesses in our internal control over financial reporting. The material weaknesses we identified pertain to (i) initial purchase accounting and the continuing fair value accounting associated with our acquisition of Stadco, (ii) our failure to maintain a sufficient complement of tax accounting personnel necessary to perform management review controls related to activities for extracting information to determine the valuation allowance at Stadco on a timely basis, and (iii) we did not maintain a sufficient complement resources and expertise on the Stadco accounting staff necessary to consistently perform management review controls over financial information and complete account reconciliations on a timely basis to ensure all transactions were accurately captured and recorded prior to closing the books. See <i style="font-style:italic;">&#8220;&#8212;Material Weakness&#8221;</i> and <i style="font-style:italic;">&#8220;&#8212;Management&#8217;s Remediation Plan&#8221;</i> in the section titled <i style="font-style:italic;">&#8220;Item 9A. Controls and Procedures&#8221;</i> for more details concerning this material weakness.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">While we have taken steps to enhance our internal control environment, we have addressed the underlying cause of the material weaknesses with the implementation of additional controls including those designed to raise the level of precision of management review controls to gain additional assurance regarding the timely completion of our quality control procedures. The steps we have taken to date were not sufficient to remediate these material weaknesses or to avoid the identification of other material weaknesses in the future. We cannot assure you that the measures we have taken to date, and are continuing to implement, will be sufficient to avoid additional material weaknesses or significant deficiencies in our internal control over financial reporting in the future. If we are unable to conclude that our internal control over financial reporting is effective, we could lose investor confidence in the accuracy and completeness of our financial reports, the market price of shares of our common stock could decline, and we could be subject to sanctions or investigations by Nasdaq, the SEC or other regulatory authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Laws and regulations governing international operations, including the Foreign Corrupt Practices Act, or FCPA, may require us to develop and implement costly compliance programs and the failure to comply with such laws may result in substantial penalties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We must comply with laws and regulations relating to international business operations. The creation and implementation of compliance programs for international business practices is costly and such programs are difficult to enforce, particularly where reliance on third </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">parties is required. Specifically, the Foreign Corrupt Practices Act, or the &#8220;FCPA&#8221;, prohibits any U.S. individual or business from paying, authorizing payment, or offering anything of value, directly or indirectly, to any foreign official, for the purpose of influencing any act or decision of the foreign official in order to assist the individual or business in obtaining or retaining business. The FCPA also obligates companies whose securities are listed in the United States to comply with certain accounting provisions requiring the company to maintain books and records that accurately and fairly reflect all transactions of the company, including international subsidiaries, and to devise and maintain an adequate system of internal accounting controls for international operations. The anti-bribery provisions of the FCPA are enforced primarily by the U.S. Department of Justice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Compliance with the FCPA is expensive and difficult, particularly in countries in which corruption is a recognized problem. The failure to comply with laws governing international business practices may result in substantial penalties, including suspension or debarment from government contracting. Violation of the FCPA can result in significant civil and criminal penalties. Indictment alone under the FCPA can lead to suspension of the right to do business with the U.S. government until the pending claims are resolved. Conviction of a violation of the FCPA can result in long-term disqualification as a government contractor.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The termination of a government contract or customer relationship because of our failure to satisfy any of our obligations under laws governing international business practices would have a negative impact on our operations and harm our reputation and ability to procure government contracts. The SEC also may suspend or bar issuers from trading securities on U.S. exchanges for violations of the FCPA&#8217;s accounting provisions. The occurrence of any of these events could have a material adverse effect on our financial condition and results of operations.</p><a id="_cc1bd51e_7023_41db_9243_48b10869064e"></a><a id="Item1BUnresolvedStaffComments_74627"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;1B.&#160;&#160;&#160;&#160;Unresolved Staff Comments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">None.</p><a id="_4c7ed456_4f3b_41cc_8a0e_570db9beaa05"></a><a id="Item1CCybersecurity_901790"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Item 1C.&#160;&#160;&#160;&#160;Cybersecurity.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Cybersecurity Risk Management and Strategy</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have processes in place to assess, identify, and manage material risks from cybersecurity threats. We and our subsidiaries currently rely heavily on products and services provided by third-party suppliers to operate certain critical business systems, including without limitation, cloud-based infrastructure, encryption and authentication technology, email, and other functions. Our IT staff along with the third-party providers and outsourced IT services monitor and address cybersecurity related risks, including installing software for threat protection and malware. Our IT staff and such third-party providers are tasked with notifying management of any material risks or cybersecurity concerns that they identify, which management then assesses and may bring to our board of directors to discuss if deemed necessary or appropriate. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We continue to work with outside counsel and third - party service providers to further develop our expertise, processes and procedures with respect to cybersecurity protection and our response plan. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">To date, we have not (to our knowledge) encountered cybersecurity challenges that have materially impaired our operations or financial standing. For additional information regarding risks from cybersecurity threats, please refer to Item 1A, &#8220;<i style="font-style:italic;">Risk Factors</i>,&#8221; in this Report. We maintain a cyber liability insurance policy. However, our cyber liability insurance policy may not cover all claims made against us, and defending a suit, regardless of its merit, could be costly and divert management&#8217;s attention from our business and operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Governance</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our Chief Executive Officer is primarily responsible for assessing and managing our strategic risk exposures, including material risks from cybersecurity threats, with assistance from our IT staff and third-party service providers. Our IT staff at both Ranor and Stadco oversee their respective cybersecurity processes on a day-to-day basis, including those described under the heading &#8220;Cybersecurity Risk Management and Strategy&#8221; above, and escalate matters to our Chief Executive Officer as appropriate.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our audit committee is tasked with general oversight of our risk management process, including risks from cybersecurity threats. Our Chief Executive Officer provides periodic briefings to the audit committee of our board of directors regarding our cybersecurity risks and activities, including any recent cybersecurity incidents and related responses, cybersecurity systems testing, activities of third parties, and the like. In furtherance thereof, the committee is responsible for monitoring and assessing strategic risk exposure. Our audit committee provides regular updates to the board of directors on such reports.</p><a id="_1a5c68af_bee8_4c3b_8720_508e07fd822c"></a><a id="Item2Properties_575599"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;2.&#160;&#160;&#160;&#160;&#160;&#160;&#160;Properties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We own approximately 145,000 square feet of office and manufacturing space under roof, situated on approximately 61 acres at 1 Bella Drive, Westminster, Massachusetts that is used by our Ranor reportable segment. We believe that our current facilities in Westminster are adequate for our present operational requirements, with room for limited expansion. The manufacturing facilities include a fabrication plant and a machining plant, providing custom solutions through our core competencies in manufacturing engineering, materials management and traceability, fabrication, machining, assembly and testing, finishing and coating, and packaging. Our capabilities include 100+ ton crane capacity, 35 feet under hook, weld positioners up to 50-ton, 400+ approved weld procedures, multiple weld cells, stress relief ovens, blast rooms, and multiple precision machining centers. Our loans from Berkshire Bank are secured by a first lien on all personal and real property of Ranor, including our space in Westminster, Massachusetts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We lease approximately 183,000 square feet of office and manufacturing space under roof, situated on approximately 5 acres at 1931 North Broadway, Los Angeles, California that is used by our Stadco reportable segment. Tooling capabilities include large-scale, high-precision, complex geometry invar, steel, and aluminum tools, molds, jigs and dies to support composite part manufacturers. Stadco can provide concurrent engineering, materials and process research, numerical control programming, fabrication and machining, planning and inspection, and final assembly. Our capabilities include 50+ ton crane capacity, CNC machining up to 65 feet, and one of the largest electron beam weld chambers in North America. One of our loans from Berkshire Bank is secured by a first lien on all personal and real property of Stadco.</p><a id="_f782635d_a031_4eec_a1d8_59d4d679088a"></a><a id="Item3LegalProceedings_196111"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;3.&#160;&#160;&#160;&#160;&#160;&#160;&#160;Legal Proceedings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We may from time to time be subject to various legal or administrative claims and proceedings arising in the ordinary course of business. As of the date hereof, we are not a party to any material legal or administrative proceedings. Litigation or any other legal or administrative proceeding, regardless of the outcome, is likely to result in substantial cost and diversion of our resources, including our management&#8217;s time and attention.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On October 30, 2023, the Company and one of its employees were named as defendants in an action alleging individual claims of discrimination and wage and hour violations, along with representative wage and hour claims brought pursuant to the California Private Attorneys General Act of 2004 (&#8220;PAGA&#8221;) [Cal. Lab. Code, ss. 2698, et seq.] in California Superior Court for the County of Los Angeles. In the complaint, captioned Ibarra v. Stadco (LASC Case No. 23STCV26591), a former employee of Stadco, sought to recover alleged damages (including backpay from his date of termination and emotional distress), unpaid underpaid wages, penalties, attorney&#8217;s fees and costs of suit on his own behalf based on allegations of age and disability discrimination and wage and hour violations. The former employee&#8217;s individual claims would have been subject to private arbitration. In addition, the former employee seeks to recover civil penalties under PAGA on behalf of a group of similarly situated aggrieved employees based upon all paychecks issues since July 21, 2022, together with his attorney&#8217;s fees and costs of suit, for certain violations of the California Labor Code. For purposes of this action, &#8220;aggrieved employees&#8221; means all non-exempt employees of Stadco in California since July 21, 2022. The PAGA claim may not be privately arbitrated and any settlement must be approved by the court. Stadco has retained outside legal counsel to defend this action. The parties participated in a mediation on June 26, 2024, and were able to reach a resolution within the Company&#8217;s expectations. Final settlement payment on the individual claims was due and paid in August, 2024. No hearing date has been set for approval of the PAGA settlement, which has not been finalized in a long-form agreement at this time.</p><a id="_1ffb43f2_268e_4525_9342_c67650415488"></a><a id="Item4MineSafetyDisclosures_164393"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;4.&#160;&#160;&#160;&#160;&#160;&#160;&#160;Mine Safety Disclosures</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Not applicable to the registrant.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_5268fe45_b38b_4934_b774_d312523d00d4"></a><a id="Item4AExecutiveOfficersoftheRegistrant_8"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;4A.&#160;&#160;&#160;&#160;Executive Officers of the Registrant</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table sets forth certain information concerning our executive officers.</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:29.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;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:57.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:29.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Age</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:57.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Position</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Alexander Shen</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">62</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;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:bottom;white-space:nowrap;width:57.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Chief Executive Officer</p></td></tr><tr><td style="vertical-align:bottom;width:29.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Barbara M. Lilley</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">65</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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:bottom;white-space:nowrap;width:57.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Chief Financial Officer</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Alexander Shen</b> was appointed Chief Executive Officer of TechPrecision on November&#160;14, 2014 and became a director on our board of directors on September 15, 2022. Since June&#160;2014, Mr.&#160;Shen has served as President of our Ranor subsidiary. Mr.&#160;Shen has experience in a broad range of industries including metal fabrication, automotive, contract manufacturing, safety and security, and industrial distribution. Prior to joining us, Mr.&#160;Shen served in 2013 as President of SIB Development and Consulting, a firm specializing in fixed,&#160;monthly cost reduction. Mr.&#160;Shen served as President of Tydenbrooks Security Products Group, a security products company, from July&#160;2011 to December&#160;2012. Mr.&#160;Shen served as President and Chief Executive Officer of Burgon Tool Steel Company between January&#160;2009 and June&#160;2011 and served as Chief Executive Officer of Ryerson Mexico&#160;&amp; Vice President&#160;- International for Ryerson,&#160;Inc., a multi-national distributor and processor of metals, from 2007 to 2009. Mr.&#160;Shen was Division General Manager&#160;&amp; Chief Operating Officer at Sumitomo Electric Group from 1998 to 2007, focused on automotive electrical and electronic products. Prior to 1998, he had a 10-year career at the Automotive Division of Alcoa&#160;Inc. with roles of increasing responsibility. Mr.&#160;Shen began his career with General Motors, moving to Chrysler, before joining Alcoa&#160;Inc. His career includes multiple international management roles in Japan, China, Mexico, and Europe, and he is fluent in the Chinese and Japanese languages and cultures. Mr.&#160;Shen holds a B.S. in Engineering from Michigan State University.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Barbara Lilley</b> became our Chief Financial Officer in July 2023. Ms. Lilley served as Controller of Ranor, Inc., one of the Company&#8217;s operating subsidiaries since June 2016. Prior to joining the Company, Ms. Lilley served as Controller of Materials Systems, Inc., a worldwide supplier of a range custom-designed products from acoustic transducers for underwater sonar to industrial ultrasound systems, from 2011 through 2015, and as Accounting Manager at Lewcott Corporation, a specialty chemical and materials technology company, from 2008 to 2011. Ms. Lilley received her Bachelor of Science/Business Administration with an Accounting major from Nichols College.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">There are no family relationships among any directors or executive officers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_e53ef6a5_b7c5_4789_97ca_02572ee13155"></a><a id="PARTII_811637"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">PART&#160;II</p><a id="Item5MarketforRegistrantsCommonEquityRel"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;5.&#160;&#160;&#160;&#160;&#160;&#160;&#160;Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our common stock is traded on the Nasdaq Capital Market under the symbol &#8220;TPCS&#8221;. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of June 30, 2024, there were 52 holders of record of our outstanding common stock. A substantially greater number of holders of our common stock are &#8220;street name&#8221; or beneficial holders, whose shares of record are held by banks, brokers, and other financial institutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We were incorporated in 2005 and have never paid dividends on our common stock. Certain covenants in our Loan Agreement with Berkshire Bank prohibit us from paying dividends. We plan to retain future earnings, if any, for use in our business and do not anticipate paying dividends on our common stock in the foreseeable future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Securities Authorized for Issuance Under Equity Compensation Plans</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Information regarding the securities authorized for issuance under our equity compensation plans can be found under Item&#160;12 of this Annual Report on Form&#160;10-K.</p><a id="_f0d2bc5a_7b3d_443c_b6c1_9d6cb6a5b9ee"></a><a id="Item6SelectedFinancialData_887378"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Item&#160;6.&#160;&#160;&#160;&#160;&#160;&#160;&#160;Reserved</p><a id="_0c5b01c5_0b0e_45b2_821f_3bf108234b8b"></a><a id="Item7ManagementsDiscussionandAnalysisofF"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;7.&#160;&#160;&#160;&#160;&#160;&#160;&#160;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Statement Regarding Forward Looking Disclosure</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following discussion of our financial condition and results of operations should be read in conjunction with our audited consolidated financial statements and the related notes, which appear elsewhere in this Annual Report on Form&#160;10-K. This Annual Report on Form&#160;10-K, including this section titled &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations,&#8221; may contain predictive or &#8220;forward-looking statements&#8221; within the meaning of the Private Securities Litigation Reform Act of 1995. All statements other than statements of current or historical fact contained in this annual report, including statements that express our intentions, plans, objectives, beliefs, expectations, strategies, predictions or any other statements relating to our future activities or other future events, or conditions are forward-looking statements. The words &#8220;anticipate,&#8221; &#8220;believe,&#8221; &#8220;continue,&#8221; &#8220;could,&#8221; &#8220;estimate,&#8221; &#8220;expect,&#8221; &#8220;intend,&#8221; &#8220;may,&#8221; &#8220;plan,&#8221; &#8220;predict,&#8221; &#8220;project,&#8221; &#8220;will,&#8221; &#8220;should,&#8221; &#8220;would&#8221; and similar expressions, as they relate to us, are intended to identify forward-looking statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">These forward-looking statements are based on current expectations, estimates and projections made by management about our business, our industry and other conditions affecting our financial condition, results of operations or business prospects. These statements are not guarantees of future performance and involve risks, uncertainties and assumptions that are difficult to predict. Therefore, actual outcomes and results may differ materially from what is expressed or forecasted in, or implied by, the forward-looking statements due to numerous risks and uncertainties. As discussed below under <i style="font-style:italic;">&#8220;Liquidity and Capital Resources&#8221;,</i> certain events and conditions, when examined in the aggregate, indicate substantial doubt about our ability to continue as a going concern for at least one year beyond the date of the financial statements. Factors that could cause such outcomes and results to differ include, but are not limited to, risks and uncertainties arising from:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our reliance on individual purchase orders, rather than long-term contracts, to generate revenue;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to balance the composition of our revenues and effectively control operating expenses;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">external factors that may be outside of our control, including health emergencies, like epidemics or pandemics, the conflicts in Eastern Europe and the Middle East, price inflation, increasing interest rates, and supply-chain inefficiencies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability of appropriate financing facilities impacting our operations, financial condition and/or liquidity;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to receive contract awards through competitive bidding processes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to maintain standards to enable us to manufacture products to exacting specifications;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to enter new markets for our services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our reliance on a small number of customers for a significant&#160;percentage of our business;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">competitive pressures in the markets we serve;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in the availability or cost of raw materials and energy for our production facilities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">restrictions on our ability to operate our business due to our outstanding indebtedness;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">government regulations and requirements;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">pricing and business development difficulties;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in government spending on national defense;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to make acquisitions and successfully integrate those acquisitions with our business;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our failure to maintain effective internal controls over financial reporting;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">general industry and market conditions and growth rates;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">unexpected costs, charges or expenses resulting from the recently terminated Stock Purchase Agreement; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">those risks discussed in &#8220;</span><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Item&#160;1A. Risk Factors</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8221; and elsewhere in this Annual Report on Form&#160;10-K, as well as those described in any other filings which we make with the SEC.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Any forward-looking statements speak only as of the date on which they are made, and we undertake no obligation to publicly update or revise any forward-looking statements to reflect events or circumstances that may arise after the date of this Annual Report on Form&#160;10-K, except as required by applicable law. Investors should evaluate any statements made by us in light of these important factors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Recent Developments</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Termination of Votaw Acquisition</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On November 22, 2023 we and the Seller, entered into the Purchase Agreement, pursuant to which, we would acquire all of the issued and outstanding common stock of Votaw, and after giving effect to such purchase, Votaw was to become our wholly owned subsidiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Due to a change in certain conditions and events, it became probable that on March 31, 2024, the Company would be unable to close on the acquisition. On April 2, 2024, the Seller delivered to the Company written notice of its election to terminate the Purchase Agreement under Section 7.01(f) effective immediately. Pursuant to Section 7.01(f) of the Purchase Agreement, in the event that the Closing had not occurred by March 31, 2024, either we or the Seller had the right to terminate the Purchase Agreement, subject to the party terminating having complied with the other required closing conditions. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Since the Seller validly terminated the Purchase Agreement pursuant to Section 7.01(f), the Company was required to pay to the Seller the Stock Termination Fee. Under the Purchase Agreement, the Stock Termination Fee can increase by 48,000 additional shares of the Company&#8217;s common stock under certain conditions, including if the Company fails use commercially reasonable efforts to cause a registration statement to effect the resale of the shares of common stock composing the Stock Termination Fee to be declared effective by the Securities and Exchange Commission as soon as practicable. Such registration was filed with the Securities and Exchange Commission on May 2, 2024, but cannot be declared effective until we have filed all of the required financial statements with the Securities and Exchange Commission, including our Quarterly Report on Form 10-Q for the fiscal quarter ended June 30, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On April 29, 2024, we issued 320,000 shares of our common stock as the Stock Termination Fee. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Amendments to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On March 20, 2024, Ranor and certain affiliates of the Company entered into a Seventh Amendment to Amended and Restated Loan Agreement and Third Amendment to Second Amended and Restated Promissory Note, or the &#8220;Seventh Amendment&#8221;. Effective March 20, 2024, the Seventh Amendment, among other things (i) extended the maturity date of the Revolver Loan from March 20, 2024 to May 20, 2024; (ii) limited the use of proceeds from the Revolver Loan by the Company or its affiliates to $2,000,000 in the aggregate for due diligence and related professional costs incurred on or prior to May 10, 2024 in connection with any acquisitions; and (iii) makes certain changes to the amount and methods of valuation of equipment securing repayment of the borrowed funds. Through May 20, 2024, Ranor utilized a revolving line of credit with, following certain modifications, a maximum principal amount available of $5.0 million. Advances under the Revolver Loan are subject to a borrowing base equal to the lesser of (a) $5.0 million or (b) the sum of (i) 80% of the net outstanding amount of Base Accounts, plus (ii) the lesser of (x) 25% of Eligible Raw Material Inventory, and (y) $250,000, plus (iii) 80% of the Appraised Value of the Eligible Equipment, as such terms are defined in the Loan Agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On May 28, 2024, Ranor and the other Borrowers entered into an Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Eighth Amendment&#8221;, with Berkshire Bank. Effective May 24, 2024, the Eighth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from May 24, 2024 to August 30, 2024; (ii) amends the maximum principal amount of the Revolver Loan from $5,000,000 to $4,500,000; and (iii) effective on June 1, 2024, increases the Term SOFR Margin (as defined in the Amendment) used to calculate the interest rate from 2.25% per annum to 2.50% per annum.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Ninth Amendment&#8221;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Read about the <i style="font-style:italic;">Berkshire Bank Loans</i> under the &#8220;Liquidity and Capital Resources&#8221; section below, for a discussion of the amended debt agreement and its impact on the Company&#8217;s liquidity and on-going operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">July Private Placement</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On July 3, 2024, the Company entered into a Securities Purchase Agreement (the &#8220;PIPE Agreement&#8221;), with certain accredited investors (the &#8220;PIPE Purchasers&#8221;) pursuant to which we agreed to sell in a private placement (the &#8220;July Private Placement&#8221;) at an aggregate purchase price of $2,298,045, (i) 666,100 shares of our common stock (the &#8220;PIPE Shares&#8221;), and (ii) common stock purchase warrants to purchase up to 666,100 shares of our common stock (the &#8220;PIPE Warrants&#8221;). The combined purchase price for one PIPE Share and one PIPE Warrant was $3.45. The purpose of the July Private Placement was to raise working capital for use by the Company. The closing of the July Private Placement occurred on July 8, 2024 (the &#8220;PIPE Closing Date&#8221;). Placement agent fees totaled $126,014.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Pursuant to the PIPE Agreement, we have agreed to have a registration statement registering for resale the PIPE Shares and the shares underlying the PIPE Warrants declared effective with 60 days of the PIPE Closing Date. If such registration statement is not declared effective in a timely manner, we will be subject to liquidated damages as described in the PIPE Agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Overview</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Through our two wholly-owned subsidiaries, Ranor and Stadco, each of which is a reportable segment, we offer a full range of services required to transform raw materials into precision finished products. Our manufacturing capabilities include fabrication operations (cutting, press and roll forming, assembly, welding, heat treating, blasting, and painting) and machining operations including CNC (computer numerical controlled) horizontal and vertical milling centers. We also provide support services to our manufacturing capabilities: manufacturing engineering (planning, fixture and tooling development, manufacturing), quality control (inspection and testing), materials procurement, production control (scheduling, project management and expediting) and final assembly.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">All manufacturing is done in accordance with our written quality assurance program, which meets specific national and international codes, standards, and specifications. The standards used are specific to the customers&#8217; needs, and our manufacturing operations are conducted in accordance with these standards.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Because&#160;our revenues are derived from the sale of goods manufactured pursuant to contracts, and we do not sell from inventory, it is necessary for us to constantly seek new contracts. There may be a time lag between our completion of one contract and commencement of work on another contract. During such periods, we may continue to incur overhead expense but with lower revenue resulting in lower operating margins. Furthermore, changes in either the scope of an existing contract or related delivery schedules may impact the revenue we receive under the contract and the allocation of manpower. Although we provide manufacturing services for large governmental programs, we usually do not work directly for the government or its agencies. Rather, we perform our services for large governmental contractors. Our business is dependent in part on the continuation of governmental programs that require our services and products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our contracts are generated both through negotiation with the customer and from bids made pursuant to a request for proposal. Our ability to receive contract awards is dependent upon the contracting party&#8217;s perception of such factors as our ability to perform on time, our history of performance, including quality, our financial condition and our ability to price our services competitively. Although some of our contracts contemplate the manufacture of one or a limited number of units, we continue to seek more long-term projects with predictable cost structures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">All the Company&#8217;s operations, assets, and customers are located in the U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Reverse Stock Split and Listing on the Nasdaq Capital Market</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">All information regarding our equity securities has been adjusted on a retrospective basis, to reflect the reverse stock split effected on February 24, 2023, as if it had been effective from the beginning of the earliest period presented, unless otherwise stated. Also, as previously disclosed, on May 5, 2023, the Company&#8217;s common stock began trading on the Nasdaq Capital Market under the trading symbol &#8220;TPCS&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Strategy</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We aim to establish our expertise in program and project management and develop and expand a repeatable customer business model in all of our markets. We concentrate our sales and marketing activities on customers under two main industry groups: defense and precision industrial. Our strategy is to leverage our core competence as a manufacturer of high-precision, large-scale metal fabrications and machined components to optimize profitability of our current business and expand with key customers in markets that have shown increasing demand.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Defense</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our Ranor subsidiary performs precision fabrication and machining for the defense and aerospace industries, delivering defense components meeting our customers&#8217; stringent design specifications, as well as quality and safety manufacturing standards specifically for defense component fabrication and machining. Ranor has in recent&#160;years delivered critical components in support of, among other projects, the U.S. Navy&#8217;s Virginia-class fast attack submarine program and Columbia-class ballistic missile submarine program. In addition, the team at Ranor has successfully developed new, effective approaches to fabrication that continue to be utilized at our facility and at our customer&#8217;s own defense component manufacturing facilities. We have endeavored to increase our business development efforts with large prime defense contractors. Based upon these efforts, we believe there are opportunities to secure additional business with existing and new defense contractors who are actively looking to increase outsourced content on certain defense programs over the next several&#160;years, especially in connection with the submarine programs. We believe that the military quality certifications Ranor maintains and its ability to offer fabrication and manufacturing services at a single facility position it as an attractive outsourcing partner for prime contractors looking to increase outsourced production.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our Stadco subsidiary manufactures large flight-critical components on several high-profile commercial and military aircraft programs, including military helicopters. It has been a critical supplier to a blue-chip customer base that includes some of the largest OEMs and prime contractors in the defense and aerospace industries. Stadco also provides tooling, customized molds, fixtures, jigs and dies used in the production of aircraft components and has one of the largest electron beam welding machines set up in the United States, allowing it to weld thick pieces of titanium and other metals.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Sales to defense market customers have generated the largest proportion of our revenues from both of our reportable segments for the last two fiscal years, and we expect sales to defense customers to be our strongest market during the fiscal year ending March 31, 2025, or &#8220;fiscal 2025&#8221;, as well.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Precision Industrial</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The customers within this market are impacted primarily by general economic conditions which may include changes in consumer consumption or demand for commercial construction for infrastructure. We serve several different customers in our precision industrial group. For example, we have built a range of components for customers in the power generation markets and large-scale medical device markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The power generation businesses among our energy market customers are impacted by pricing and demand for various forms of energy (e.g., coal, natural gas, oil, and nuclear). Our nuclear customers are typically dependent upon the need for new construction, maintenance, and overhaul and repair by nuclear energy providers. Also, changes in regulation may impact demand and supply. As such, we cannot assure that we will be able to develop any significant business from the nuclear industry. However, because we have manufacturing capabilities for producing components for new nuclear power plants and our historic relationships with suppliers in the nuclear power industry, we believe that we are positioned to benefit from any increased demand in the nuclear sector.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Critical Accounting Policies and Estimates</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The preparation of the consolidated financial statements requires that we make estimates and judgments that affect the reported amounts of assets, liabilities, revenues and expenses, and related disclosure of contingent assets and liabilities. We base our estimates on historical experience and various other assumptions that are believed to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. We continually evaluate our estimates, including those related to revenue recognition, recovery of long-lived assets, and income taxes. These estimates and assumptions require management&#8217;s most difficult, subjective, or complex judgments. Actual results may differ under different assumptions or conditions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Revenue and Related Cost Recognition</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We recognize revenue over time based on the transfer of control of the promised goods or services to the customer, or at a point in time. This transfer will occur over time when the Company&#8217;s performance does not create an asset that has an alternative use to the Company, and we have an enforceable right to payment for performance completed to date. Otherwise, control to the promised goods or services transfers to customers at a point in time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The majority of the Company&#8217;s contracts have a single performance obligation and provide title to, or grant a security interest in, work-in-process to the customer. In addition, these contracts contain enforceable rights to payment, allowing the Company to recover both its cost and a reasonable margin on performance completed to date. The combination of these factors indicates that the customer controls the asset (and revenue is recognized) as the asset is created or enhanced. The Company measures progress for performance obligations satisfied over time using input methods (e.g., costs incurred, resources consumed, labor hours expended, time elapsed).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our evaluation of whether revenue should be recognized over time requires significant judgment about whether the asset has an alternative use and whether the entity has an enforceable right to payment for performance completed to date. When any one of these factors is not present, the Company will recognize revenue at the point in time when control over the promised good or service transfers to the customer, i.e., when the customer has accepted the asset and taken physical possession of the product and has legal title, and the Company has a right to payment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">When estimating contract costs, the Company takes into consideration a number of assumptions and estimates regarding risks related to technical requirements and scheduling. Management performs periodic reviews of the contracts to evaluate the underlying risks. Profit margin on any given project could increase if the Company is able to mitigate and retire such risks. Conversely, if the Company is not able to properly manage these risks, cost estimates may increase, resulting in a lower profit margin, or potentially, contract losses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The cost estimation process requires significant judgment and is based upon the professional knowledge and experience of the Company&#8217;s engineers, program managers, and financial professionals. Factors considered in estimating the work to be completed and ultimate contract recovery include the availability, productivity, and cost of labor, the nature and complexity of the work to be performed, the effect of change orders, the availability of materials, the effect of any delays in performance, the availability and timing of funding from the customer, and the recoverability of any claims included in the estimates to complete. Costs allocable to undelivered units are reported as work in process, a component of inventory, in the consolidated balance sheet. Pre-contract fulfillment costs requiring capitalization are not material.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Changes in job performance, job conditions, and estimated profitability are recognized in the period in which the revisions are determined. Costs incurred on uncompleted contracts consist of labor, overhead, and materials. Provisions for estimated losses on uncompleted contracts are made in the period in which such losses are determined. Our provision for losses at March 31, 2024 and 2023 was $0.3 million and $0.1 million, respectively, with approximately 92% and 76% of the totals related to customer projects at our Stadco reportable segment, and the remaining amounts at our Ranor segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Long-lived assets</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In accordance with Accounting Standards Codification (ASC) 360,<i style="font-style:italic;"> Property, Plant &amp; Equipment</i>, our property, plant and equipment is tested for impairment when triggering events occur and, if impaired, written-down to fair value based on either discounted cash flows or appraised values. The carrying amount of an asset or asset group is not recoverable if it exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset or asset group.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Income Taxes</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We provide for federal and state income taxes currently payable, as well as those deferred because of temporary differences between reporting income and expenses for financial statement purposes versus tax purposes. Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between carrying amount of assets and liabilities for financial reporting purposes and the amounts used for income tax purposes. Deferred tax assets and liabilities are measured using the enacted tax rates expected to apply to taxable income in the&#160;years in which those temporary differences are expected to be recoverable. The effect of the change in the tax rates is recognized as income or expense in the period of the change. A valuation allowance is established, when necessary, to reduce deferred income taxes to the amount that is more likely than not to be realized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In assessing the recoverability of deferred tax assets, we consider whether it is more likely than not that some portion or all of the deferred tax assets will not be realized. If we determine that it is more likely than not that certain future tax benefits may not be realized, a valuation allowance will be recorded against deferred tax assets that are unlikely to be realized. Realization of the remaining deferred tax assets will depend on the generation of sufficient taxable income in the appropriate jurisdiction, the reversal of deferred tax liabilities, tax planning strategies and other factors prior to the expiration date of the carryforwards. A change in the estimates used to make this determination could require a reduction in the valuation allowance for deferred tax assets if they become realizable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">New Accounting Standards</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">See Note&#160;3, Accounting Standards Update, in the Notes&#160;to the Consolidated Financial Statements under &#8220;<i style="font-style:italic;">Item&#160;8. Financial Statements and Supplementary Data</i>&#8221;, for a discussion of recently adopted new accounting guidance and new accounting guidance not yet adopted.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Results of Operations</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our results of operations are affected by a number of external factors including the availability of raw materials, commodity prices (particularly steel), macroeconomic factors, including the availability of capital that may be needed by our customers, and political, regulatory, and legal conditions in the United States and in foreign markets. Generally, our product mix is made up of short-term contracts with a production timeline of twelve&#160;months, more or less. However, contracts for larger complex components can take up to thirty-six&#160;months to complete. Units manufactured under most of our customer contracts have historically been delivered on time and with a positive gross margin, with some exceptions. Our results of operations are also affected by our success in booking new contracts, the timing of revenue recognition, delays in customer acceptances of our products, delays in deliveries of ordered products and our rate of progress fulfilling&#160;obligations under our contracts. A delay in deliveries or cancellations of orders could have an unfavorable impact on liquidity, cause us to have inventories in excess of our short-term needs, and delay our ability to recognize, or prevent us from recognizing, revenue on contracts in our order backlog.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We evaluate the performance of our segments based upon, among other things, segment net sales and operating profit. Segment operating profit excludes general corporate costs, which include executive and director compensation, stock-based compensation, certain pension and other retirement benefit costs, and other corporate facilities and administrative expenses not allocated to the segments. Also excluded are items that we consider not representative of ongoing operations, such as the unallocated PPP loan forgiveness and refundable employee retention tax credits.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></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;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Key Performance Indicators</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">While we prepare our financial statements in accordance with U.S. generally accepted accounting principles, or &#8220;U.S. GAAP&#8221;, we also utilize and present certain financial measures that are not based on or included in U.S. GAAP. We refer to these as non-GAAP financial measures. Please see the section titled &#8220;<i style="font-style:italic;">EBITDA Non-GAAP Financial Measure</i>&#8221; below for further discussion of these financial measures, including the reasons why we use such financial measures and reconciliations of such financial measures to the most directly comparable U.S. GAAP financial measures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Percentages in the following tables and throughout this <i style="font-style:italic;">&#8220;Results of Operations&#8221;</i> section may reflect rounding adjustments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Corporate general costs include executive and director compensation, and other corporate administrative expenses not allocated to the segments. Prior period segment data is restated to reflect changes in corporate and administrative expenses not allocated to the segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Fiscal&#160;Years Ended March&#160;31, 2024 and 2023</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table presents net sales, gross profit, and gross margin, consolidated and by reportable segment:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;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:42.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.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;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.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;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.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;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.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;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.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;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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Changes</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(dollars in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</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;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</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;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,821</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 56</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19,182</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 61</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1,361)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (7)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,567</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,250</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 39</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,317</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment elimination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (797)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (797)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;">nm</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consolidated Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31,591</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31,432</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 159</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Cost of Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,273</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 42</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,205</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 39</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,068</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,997</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 47</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,323</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 45</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 674</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment elimination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (797)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (797)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;">nm</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consolidated Cost of sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27,473</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 87</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 26,528</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 84</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 945</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Gross Profit (Loss)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,548</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,977</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2,429)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (35)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (430)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2,073)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (6)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,643</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 79</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consolidated Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,118</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,904</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (786)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (16)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">nm - not meaningful</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Net Sales</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Consolidated</i> - Period-to-period revenue reflects production performance under new and ongoing contracts with changes in net sales due to varying levels of throughput. For the twelve months ended March 31, 2024, 99% of our net sales were in the defense sector, where we have customers in the aerospace, military and shipbuilding industries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Consolidated net sales were $31.6 million for the fiscal year ended March 31, 2024, or 1% higher when compared to consolidated net sales for the fiscal year ended March 31, 2023. Net sales decreased by $1.4 million at Ranor but was more than offset by an increase of $2.3 million at Stadco. Both segments logged a different proportionate mix of products for the comparable periods.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Ranor</i> - Net sales were $17.8 million for the fiscal year ended March 31, 2024, a decrease of $1.4 million or 7% lower when compared to the same prior-year period, as fewer labor hours were charged directly to projects. Average selling prices were higher but not enough to offset the lower volume. The defense backlog remains strong as new orders for components related to a variety of programs, including the U.S. Navy submarine programs continue to flow down from our existing base of prime defense contractors. Backlog at Ranor on March 31, 2024 was $21.1 million.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Stadco</i> - Net sales were $14.6 million for the fiscal year ended March 31, 2024 compared with net sales of $12.3 million for the fiscal year ended March 31, 2023, an increase of 19%. We have made incremental improvements with throughput on projects where revenue is recognized over time. Our project mix and sales volume were favorable when compared with the prior fiscal year, as more direct hours were charged to projects. Average selling prices were also higher when compared with the prior fiscal year. The defense backlog remains strong as new orders for components related to a variety of programs, including the U.S. Marine Corps heavy lift helicopter programs, continue to flow down from our existing customer base of prime defense contractors. Stadco&#8217;s backlog was $28.9 million as of March 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Cost of Sales and Gross Profit</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Consolidated</i> &#8211; Cost of sales consists primarily of raw materials, parts, labor, overhead and subcontracting costs. Our cost of sales for the fiscal year ended March 31, 2024, was $27.5 million, or 4% higher compared to the fiscal year ended March 31, 2023. Gross profit decreased by $0.8 million, or 16% when compared to the same period a year ago. Gross margin for the fiscal year ended March 31, 2024 was 13.0% compared to 15.6% in fiscal year 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Ranor</i> &#8211; Gross profit decreased by $2.4 million or 35% due primarily to lower revenue and under absorbed overhead. Certain supply chain impacts on customer furnished material were also evident during part of the reporting period which led to fewer direct labor hours of input for fiscal 2024. As a result, factory overhead was under-applied to our work-in-progress.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Stadco</i> &#8211; Gross profit was negative for the fiscal year ended March 31, 2024 but our losses decreased by 79% when compared to the fiscal year ended March 31, 2023, as our work force utilization has slowly improved over-time as direct labor hours charged to projects has increased year-over-year. Production delays related to equipment down-time were resolved in the first quarter of fiscal 2024 and overhead absorption improved when compared to the same period a year ago. Repairs and maintenance expense increased by 12% year-over-year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Selling, General and Administrative (SG&amp;A) Expenses</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:42.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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;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.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;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.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;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.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;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.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;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.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;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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Changes</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent of </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent of </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(dollars in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:7.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</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;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:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:7.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</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;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:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,649</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (172)</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (10)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,552</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,832</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (280)</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (15)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate and unallocated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,721</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,528</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,193</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 126</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consolidated SG&amp;A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,750</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,009</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,741</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">March 31, 2023 SG&amp;A segment data is revised to reflect current period updates to unallocated corporate administrative expense.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Consolidated</i> - Total selling, general and administrative expenses for the fiscal year ended March 31, 2024 increased by $2.7 million or 46% due primarily to outside advisory costs of $1.9 million, a break-up fee for $1.1 million in connection with the terminated Votaw acquisition, and $0.3 million for a claims settlement, partially offset by a $0.6 reduction in compensation at Stadco.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Ranor</i> &#8211; The total change for the comparable fiscal years includes reduced spending for outside advisory fees of $128,000, office costs for $29,000, and compensation $15,000. The prior fiscal year period included a one-time fee for services rendered in connection with securing the Employee Retention Tax Credit refund.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Stadco</i> - SG&amp;A expense for the fiscal year ended March 31, 2024 decreased by $280,000, primarily the result of reductions in office staff compensation, which was offset in part by an increase for a claims settlement of $278,000.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Corporate and unallocated</i> - SG&amp;A increased by $3.2 million, due primarily to one-time outside advisory and pre-acquisition advisory and legal expenses ($1.9 million) plus a breakup fee ($1.1 million) in connection with the terminated Votaw acquisition.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Operating (loss) income</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:bottom;width:42.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.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;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.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;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.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;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.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;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.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;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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Changes</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(dollars in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">net&#160;sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</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;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:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">net&#160;sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</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;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:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,070</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,328</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;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2,258)</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;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (42)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1,981)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (6)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (3,905)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (12)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,924</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Corporate and unallocated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (5,721)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (18)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2,528)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (8)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (3,193)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (126)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Operating loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (4,632)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (14)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1,105)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (4)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (3,527)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (319)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Consolidated</i> - As a result of the foregoing, for the fiscal year ended March 31, 2024, we reported an operating loss of $4.6 million, which was $3.5 million higher than the operating loss for the fiscal year ended March 31, 2023. Operating income at Ranor was not enough to offset operating losses at Stadco plus an increase for corporate outside advisory and pre-acquisition costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Ranor</i> &#8211; Operating income was lower when compared to the same period a year ago, due primarily to lower revenue and higher cost of sales.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Stadco</i> &#8211; Operating losses decreased as certain projects with production issues, including equipment downtime, were resolved early in the fiscal year, with revenue growth and better throughput achieved through the remainder of the period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Corporate and unallocated</i> &#8211; Operating loss reflects the increase in SG&amp;A discussed above due primarily from outside advisory and pre-acquisition due diligence spending ($1.9 million), and a one-time breakup fee ($1.1 million) in connection with the terminated Votaw acquisition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Other Income (Expense), net</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table presents other income (expense) for the fiscal years ended March 31:</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:52.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.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;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.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;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.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;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.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;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.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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$&#160;Change</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;Change</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income (expense), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 43,363</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 40,842</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,521</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;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:bottom;white-space:nowrap;width:8.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (414,268)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (295,692)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (118,576)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (40)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization of debt issue costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (106,840)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (59,916)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (46,925)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;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:bottom;white-space:nowrap;width:8.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (78)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Interest expense increased under the Revolver Loan (as defined below) by $138,987 when compared with the fiscal year ended March 31, 2023, due to higher amounts borrowed and higher interest rates. Interest paid for term loans and other borrowings decreased by $20,411. We expect that future interest expense increases or decreases will likely correlate directly with borrowing levels under the Revolver Loan. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Amortization of debt issue costs for the fiscal year ended March 31, 2024 increased when compared to fiscal year ended March 31, 2023, as new amortization periods commenced for costs incurred to extend the Ranor Term Loan and renew the Revolver Loan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Other income, net for the fiscal year ended March 31, 2024 includes a gain of $40,399 from the settlement of an insurance claim related to abandoned fixed assets following a theft at the Stadco plant. Other income, net, for the fiscal year ended March 31, 2023, includes income for the net change in fair value of contingent consideration for $7,126, and other tax rebates for $33,223.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Employee Retention Tax Credit (ERTC)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Other income for fiscal 2023 includes $636,564 for a refundable Employee Retention Tax Credit authorized under the Coronavirus Aid Relief and Economic Security (&#8220;CARES&#8221;) Act for eligible employers with qualified wages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Income Taxes</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">For fiscal year 2024, the Company recorded tax expense of $1.9 million, compared with tax expense of $0.2 million in fiscal 2023. The fiscal 2024 provision is the sum of tax expense from an increase in the valuation allowance of $3.1 million, offset in part by a federal and state tax benefit due to higher pretax losses.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences and carryforwards are expected to be recovered or settled. The valuation allowance on deferred tax assets at March 31, 2024 was approximately $5.2 million. We believe that it is more likely than not that the benefit from certain state NOL carryforwards and other deferred tax assets will not be realized. The assessment was based on the weight of negative evidence at the balance sheet date, our recent operating losses and unsettled circumstances that, if unfavorably resolved, would adversely affect future operations and profit levels. In recognition of this risk, we continue to provide a valuation allowance on these items.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Net Loss </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As a result of the foregoing, for fiscal 2024, we recorded a net loss of $7.0 million, or $0.81 per share basic and fully diluted, compared with a net loss of $1.0 million, or $0.11 per share basic and fully diluted in fiscal 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Liquidity, Capital Resources and Going Concern</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our liquidity is highly dependent on the availability of financing facilities and our ability to maintain gross profit and operating income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of March 31, 2024, we had $2.3 million in total available liquidity, consisting of $0.1 million in cash and cash equivalents, and approximately $2.2 million in undrawn capacity under our Revolver Loan. As of March 31, 2023, we had $4.7 million in total available liquidity, consisting of $0.5 million in cash and cash equivalents, and $4.2 million in undrawn capacity under our Revolver Loan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">There was $2.8 million and $0.7 million outstanding under the Revolver Loan at March 31, 2024 and 2023, respectively. The Company pays interest at an adjusted SOFR-based rate. Interest-only payments on advances made under the Revolver Loan will continue to be payable monthly in arrears. Interest-only payments on advances made under the Revolver Loan during the fiscal years ended March 31, 2024 and 2023 totaled $171,073 and $33,156, respectively. The weighted average interest rate at March 31, 2024 and March 31, 2023 was 7.58% and 5.02%, respectively. Unused borrowing capacity at March 31, 2024 and March 31, 2023 was approximately $0.5 million and $4.2 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">At March 31, 2024 our working capital was negative $2.9 million because of the reclassification of our long-term debt from noncurrent to current in the consolidated balance sheet. Working capital was $5.6 million at March 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The table below presents selected liquidity and capital measures at the fiscal&#160;years ended:</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:59.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;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;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.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;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.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;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;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.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;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.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;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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;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:8pt;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,</b></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:8pt;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,</b></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:8pt;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Change</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">(dollars in thousands)</i></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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 138</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 534</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (396)</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Working capital</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2,904)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,559</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (8,463)</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total debt</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,648</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,113</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,535</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total stockholders&#8217; equity</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,803</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,594</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (6,791)</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The next table summarizes changes in cash by primary component in the cash flows statements for the fiscal&#160;years ended:</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:59.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;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;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.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;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.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;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;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.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;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.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;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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;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:8pt;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,</b></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:8pt;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,</b></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:8pt;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Change</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">(dollars in thousands)</i></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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating activities</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,305</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,138</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1,833)</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Investing activities</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (3,168)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2,318)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (850)</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Financing activities</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,467</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1,337)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,804</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net decrease in cash</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (396)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (517)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 121</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Berkshire Bank Loans</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 25, 2021, the Company entered into an amended and restated loan agreement with Berkshire Bank (as amended to date, the &#8220;Loan Agreement&#8221;). Under the Loan Agreement, Berkshire Bank will continue to provide the Ranor Term Loan (as defined below) and the revolving line of credit, or the &#8220;Revolver Loan&#8221;. In addition, Berkshire Bank provided the Stadco Term Loan (as defined below) in the original amount of $4.0 million. The proceeds of the original Ranor Term Loan of $2.85 million were previously used to refinance existing mortgage debt of Ranor. The proceeds of the Revolver Loan are used for working capital and general corporate purposes of the Company. Payments for the original Ranor Term Loan began on January 20, 2017, and until the facility was amended in December 2022, the Company paid monthly installments of $19,260 each, inclusive of interest at a fixed rate of 5.21% per annum. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In addition, Berkshire Bank provided to Stadco a term loan in the original amount of $4.0 million, or the &#8220;Stadco Term Loan&#8221;. On August 25, 2021, Stadco borrowed $4.0 million from Berkshire Bank under the Stadco Term Loan. The proceeds of the Stadco Term Loan were used to support the acquisition of Stadco and refinance existing indebtedness of Stadco. Interest on the Stadco Term Loan is due on unpaid balances beginning on August 25, 2021, at a fixed rate per annum equal to the 7-year Federal Home Loan Bank of Boston Classic Advance Rate plus 2.25%. Since September 25, 2021, and on the 25th day of each month thereafter, Stadco has made and will continue to make monthly payments of principal and interest in the amount of $54,390 each, with all outstanding principal and accrued interest due and payable on August 25, 2028.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On December 23, 2022, Ranor and certain affiliates of the Company entered into a Fifth Amendment to Amended and Restated Loan Agreement, Fifth Amendment to Promissory Note and First Amendment to Second Amended and Restated Promissory Note, or the &#8220;Amendment&#8221;. Effective as of December 20, 2022, the Amendment, among other things (i) extends the maturity date of the loan originally made to Ranor by Berkshire Bank in 2016, or the &#8220;Ranor Term Loan&#8221;, to December 15, 2027, (ii) extends the maturity date of the Revolver Loan from December 20, 2022 to December 20, 2023, (iii) increases the interest rate on the Ranor Term Loan from 5.21% to 6.05% per annum, (iv) decreases the monthly payment on the Ranor Term Loan from $19,260 to $16,601, (v) replaces LIBOR as an option for the benchmark interest rate for the Revolver Loan with SOFR, (vi) replaces LIBOR-based interest pricing conventions with SOFR-based pricing conventions, including benchmark replacement provisions, and (vii) solely with respect to the fiscal quarter ending December 31, 2022, lowers the debt service coverage ratio from at least 1.2 to 1.0 to 1.1 to 1.0. Our capital expenditures are limited to $1.5 million annually and contain loan-to-value, and balance sheet leverage covenants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On December 20, 2023, Ranor and certain affiliates of the Company entered into a Sixth Amendment to Amended and Restated Loan Agreement and Second Amendment to Second Amended and Restated Promissory Note, or the &#8220;Sixth Amendment&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Effective December 20, 2023, the Sixth Amendment, among other things (i) extended the maturity date of the Revolver Loan from December 20, 2023 to March 20, 2024; (ii) limits the use of proceeds from the Revolver Loan by the Company or its affiliates to $1,000,000 in the aggregate for due diligence and related professional costs incurred on or prior to March 20, 2024 in connection with any acquisitions; and (iii) makes certain changes to the amount and methods of valuation of equipment securing repayment of the borrowed funds.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On March 20, 2024, Ranor and certain affiliates of the Company entered into a Seventh Amendment to Amended and Restated Loan Agreement and Third Amendment to Second Amended and Restated Promissory Note, or the &#8220;Seventh Amendment&#8221;. Effective March 20, 2024, the Seventh Amendment, among other things (i) extended the maturity date of the Revolver Loan from March 20, 2024 to May 20, 2024; (ii) limits the use of proceeds from the Revolver Loan by the Company or its affiliates to $2,000,000 in the aggregate for due diligence and related professional costs incurred on or prior to May 10, 2024 in connection with any acquisitions; and (iii) makes certain changes to the amount and methods of valuation of equipment securing repayment of the borrowed funds.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On May 28, 2024, Ranor and the other Borrowers entered into an Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note with Berkshire Bank. Effective May 24, 2024, the Eighth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from May 24, 2024 to August 30, 2024; (ii) amends the maximum principal amount of the Revolver Loan from $5,000,000 to $4,500,000; and (iii) effective on June 1, 2024, increases the Term SOFR Margin (as defined in the Amendment) used to calculate the interest rate from 2.25% per annum to 2.50% per annum.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Ninth Amendment&#8221;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Ranor Term Loan, the Stadco Term Loan and the Revolver Loan, or collectively, the &#8220;Berkshire Loans,&#8221; may be accelerated upon the occurrence of an event of default as defined in the Loan Agreement. Upon the occurrence and during the continuance of certain default events, at the option of Berkshire Bank, or automatically without notice or any other action upon the occurrence of certain other events specified in the Loan Agreement, the unpaid principal amount outstanding under the facility, together with accrued interest and all other obligations, would become immediately due and payable without presentment, demand, protest, or further notice of any kind. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As a result of Borrowers&#8217; failure to satisfy the required minimum Debt Service Coverage Ratio for the twelve (12) month period ending March 31, 2024 as set forth in the Loan Agreement, or the &#8220;Existing Default&#8221;, the borrowers acknowledge that a certain Event of Default has occurred and is continuing under the Loan Agreement. The borrowers further acknowledge that the sixth amendment to the Agreement constitutes written notice pursuant to the Loan Documents of such Existing Default. Regardless of entering into this Agreement or any discussions between Borrowers and Lender, the Lender expressly reserves any and all rights and remedies available to it under the Loan Documents, the Collateral Documents, and under applicable law, including, without limitation, its right to choose to accelerate and demand the outstanding indebtedness evidenced by the Loan Documents and seek immediate repayment in full, and institute the default rate of interest as of the date of the occurrence of the default or at any time thereafter, as a result of any default or event of default, including, without limitation, the Existing Default, that have arisen or may arise. No such discussions or the entering into of this Agreement shall imply any course of conduct or any agreement on the part of Lender to waive any of its rights and remedies or to forbear from taking any action authorized by the Loan Documents, the Collateral Documents, or by applicable law while discussions continue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">At March 31, 2023, the Company was in violation of the Loan Agreement as it exceeded the capital expenditure limit of $1.5 million as defined in the agreement. On June 12, 2023, the Company and Berkshire Bank executed a waiver under which Berkshire Bank waived the Company&#8217;s noncompliance with the capital expenditure limit on March 31, 2023. The waiver document also contains an agreement by the parties to exclude from the calculation of capital expenditures for purposes of the Loan Agreement during the year ending March 31, 2024, any such expenditures made by the Company to the extent they are made using funds provided by customers of the Company for the purpose of making such capital expenditures. The Company was otherwise in compliance with all the financial covenants on March 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">There was $7.6 million outstanding under the Loan Agreement on March 31, 2024. Without a waiver, the lender has the right, but not the obligation, to demand repayment from the Company for noncompliance with the debt covenants. In addition, the bank retains the right to act on covenant violations that occur after the date of delivery of any waiver. The lender has not granted us a waiver. As such, we need to seek alternative financing to pay these obligations as the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations. It is also probable that the Company will not be in compliance with the same debt covenants at subsequent measurement dates within the next twelve months. As a result of the above, all of our long-term debt has been classified as current in our consolidated balance sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is exploring various means of strengthening its liquidity position and ensuring compliance with its debt financing covenants by making Stadco operations profitable, renewing our revolver loan, or entering into alternative debt facilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On July 3, 2024, the Company entered into the PIPE Agreement with certain accredited investors, pursuant to which the Company agreed to sell in a private placement at an aggregate purchase price of approximately $2.3 million, the PIPE Shares and the PIPE Warrants. The combined purchase price for one PIPE Share and one PIPE Warrant was $3.45. The purpose of the sale of the PIPE Shares and the PIPE Warrants under the PIPE Agreement is to raise working capital for use by the Company. The closing of the offering occurred on July 8, 2024. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In order for us to continue operations beyond the next twelve months from the date of issuance of the financial statements and to be able to discharge our liabilities and commitments in the normal course of business, we must renew our revolver loan or seek alternative financing by January 15, 2025. We must mitigate our recurring operating losses at our Stadco subsidiary, efficiently increase utilization of our manufacturing capacity at Stadco and improve the manufacturing process. We plan to closely monitor our expenses and, if required, will reduce operating costs to enhance liquidity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The uncertainty associated with the recurring operating losses at Stadco, the revolver loan renewal, the need for alternative financing, and compliance with debt covenants at subsequent measurement dates raise substantial doubt about our ability to continue as a going concern for at least one-year after the date the consolidated financial statements included in this Annual Report on Form 10-K are issued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Collateral securing all the above obligations comprises all personal and real property of the Company, including cash, accounts receivable, inventories, equipment, and financial assets.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Operating activities</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Apart from our loan facilities, our primary sources of cash are from accounts receivable collections. Our customers make advance payments and progress payments under the terms of each manufacturing contract. Our cash flows can fluctuate significantly from period to period as we mark progress with customer projects and the composition of our receivables collections mix changes between advance payments and customer payments made after shipment of finished goods.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Cash provided by operating activities for fiscal 2024 was $1.3 million. In addition to customer advances and progress payments, cash provided by operating activities included reimbursements under a certain customer project program. The sum of these customer payments was partially offset by payments for obligations for goods and services that had been acquired on open account from suppliers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Fiscal 2023 was generally marked by favorable project performance progress and delivery schedules that led to timely customer payments. Cash provided by operating activities for the fiscal year ended March 31, 2023 was $3.1 million, as customer cash advances and collections exceeded cash outflows on projects in-progress. Also included in that amount, was $0.6 million for refunds under the employee retention tax credit program, and a $1.0 million reimbursement under a certain customer project program.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Investing activities</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">For the fiscal year ended March 31, 2024, we invested $3.2 million in new factory machinery and equipment, primarily on the construction and installation of equipment for contract project work with a certain customer at our Ranor segment. In fiscal 2023, we invested $2.3 million in new factory machinery and equipment, with $1.4 million of that amount paid for the installation and construction of equipment for contract project work with a certain customer at our Ranor segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We are subject to certain financial debt covenants and may not spend more than $1.5 million for new machinery and equipment during any single fiscal year, tested on an annual basis at the end of each fiscal year. We estimate our spending on new machinery and equipment in fiscal 2025, which we expect will include expenditures for the installation and construction of equipment for contract project work with a certain customer, will again exceed the spending limitation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On June 12, 2023, we executed a waiver with the lender under which the lender agreed to waive the Company&#8217;s noncompliance with this capital spending limit covenant, as it relates to the period ended March 31, 2023. The waiver also contains an agreement by the parties to exclude from the calculation of capital expenditures for purposes of the Loan Agreement during the year ending March 31, 2024, any such expenditures made by the Company to the extent they are made using funds provided by customers of the Company for the purpose of making such capital expenditures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Financing activities</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">For the fiscal year ended March 31, 2024 we drew down $7.2 million of proceeds under the Revolver Loan and repaid $5.0 million during the same period. We also used $0.6 million of cash primarily to pay down debt principal and make periodic lease payments. In fiscal 2023 we drew down $10.9 million of proceeds under the Revolver Loan and repaid $11.5 million during the same period. We also used $0.7 million of cash to pay down debt principal, make periodic lease payments and pay costs in connection with the Ranor Term Loan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">All of the above activity resulted in a net decrease in cash of $0.4 million for the fiscal year ended March 31, 2024 compared with a net decrease in cash of $0.5 million for the fiscal year ended March 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Commitments and Contractual Obligations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following contractual obligations associated with our normal business activities are expected to result in cash payments in future periods, and include the following material items on March 31, 2024:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Our long-term debt obligations, including fixed and variable-rate debt, totaled $7.6 million, and, because of current and probable future debt covenant violations, are classified as current in the consolidated balance sheets. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We enter into various commitments with suppliers for the purchase of raw materials and work supplies. Our outstanding unconditional contractual commitments, including for the purchase of raw materials and supplies goods, totaled $5.8 million, all of it due to be paid within the next twelve months. These purchase commitments are in the normal course of business.</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Our lease obligations, including imputed interest, totaled $5.8 million for buildings through 2030, with approximately $0.9 million due annually for each of the next six years.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;">There are no off-balance sheet arrangements as of March 31, 2024.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">EBITDA Non-GAAP Financial Measure</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">To complement our consolidated statements of operations and consolidated statements of cash flows, we use EBITDA, a non-GAAP financial measure. Net income (loss) is the financial measure calculated and presented in accordance with U.S. GAAP that is most directly comparable to EBITDA. We believe EBITDA provides our board of directors, management, and investors with a helpful measure for comparing our operating performance with the performance of other companies that have different financing and capital structures or tax rates. We also believe that EBITDA is a measure frequently used by securities analysts, investors, and other interested parties in the evaluation of companies in our industry, and is a measure contained in our debt covenants. However, while we consider EBITDA to be an important measure of operating performance, EBITDA and other non-GAAP financial measures have limitations, and investors should not consider them in isolation or as a substitute for analysis of our results as reported under U.S. GAAP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We define EBITDA as net income (loss) plus interest, income taxes, depreciation, and amortization. Net loss was $7.0 million for the fiscal year ended March 31, 2024, as compared to net loss of $1.0 million for the year ended March 31, 2023. EBITDA, a non-GAAP financial measure, was negative for the year ended March 31, 2024, compared to positive $1.8 million for the year ended March 31, 2023. The following table provides a reconciliation of EBITDA to net income (loss), the most directly comparable U.S. GAAP measure reported in our consolidated financial statements for the fiscal years ended:</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:59.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;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;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.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;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.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;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;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.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;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.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;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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;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:8pt;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,</b></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:8pt;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,</b></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:8pt;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Change</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(dollars in thousands)</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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (7,042)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (979)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (6,063)</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,932</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,736</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense <i style="font-style:italic;">(1)</i></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 521</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 356</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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:bottom;white-space:nowrap;width:9.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 165</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation and amortization</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,429</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,217</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:59.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">EBITDA</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2,160)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,790</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (3,950)</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Includes amortization of debt issue costs.</i></td></tr></table><div style="margin-top:12pt;"><a id="_a518779c_802f_42a8_ad86_1b8166b1c6ad"></a><a id="Item7AQuantitativeandQualitativeDisclosu"></a></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;7A.&#160;&#160;&#160;&#160;Quantitative and Qualitative Disclosure About Market Risk.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;">As a smaller reporting company, we have elected not to provide the information required by this Item.</span></p><a id="Item8FinancialStatementsandSupplementary"></a><a id="_5eecefad_039c_4339_b170_79d8641a1bbf"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Item&#160;8.&#160;&#160;&#160;&#160;&#160;&#160;&#160;Financial Statements and Supplementary Data.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;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;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_25d5b7e8_356c_436f_81fe_65f1c31e6dfd"></a><a id="REPORTOFINDEPENDENTREGISTEREDPUBLICACCOU"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.22;padding-left:0.7pt;text-align:justify;text-indent:-0.7pt;margin:0pt;">To the Audit Committee of the Board of Directors and Stockholders of</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.22;padding-left:0.7pt;text-align:justify;text-indent:-0.7pt;margin:0pt 0pt 12pt 0pt;">TechPrecision Corporation </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;padding-left:0.7pt;text-align:justify;text-indent:-0.7pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Opinion on the Financial Statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have audited the accompanying consolidated balance sheets of TechPrecision Corporation (the &#8220;Company&#8221;) as of March 31, 2024 and 2023, the related consolidated statements of operations, stockholders&#8217; equity and cash flows for each of the two years in the period ended March 31, 2024, and the related notes (collectively referred to as the &#8220;financial statements&#8221;). &#160;In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of March 31, 2024, and the results of its operations and its cash flows for each of the two years in the period ended March 31, 2024, in conformity with accounting principles generally accepted in the United States of America.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Explanatory Paragraph &#8211; Going Concern</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The accompanying consolidated financial statements have been prepared assuming that the Company will continue as a going concern. As more fully described in Note 2, the Company has incurred significant losses, is in default on its debt obligations since the Company is out of compliance with its debt covenants and is expected to continue to be out of compliance, its revolving line of credit is due within the year, and needs to raise additional funds to meet its obligations and sustain its operations. These conditions raise substantial doubt about the Company&#8217;s ability to continue as a going concern. Management&#8217;s plans in regard to these matters are also described in Note 2. The consolidated financial statements do not include any adjustments that might result from the outcome of this uncertainty. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Basis for Opinion</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">These financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audit. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audits to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Critical Audit Matters</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The critical audit matter communicated below is a matter arising from the current period audit of the financial statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of the critical audit matter does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing separate opinions on the critical audit matter or on the accounts or disclosures to which it relates.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Revenue &#8211; Percentage of Completion and Contract Estimates</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As described in Note 2 of the consolidated financial statements, for those long-term fixed-price contracts for which control transfers over time, revenue is recognized based on the extent of progress towards completion of the performance obligation. The Company measures progress for performance obligations satisfied over time using input methods such as costs incurred, resources consumed, labor hours expended, and/or time elapsed. The estimation of progress toward completion is subject to assumptions and variables and requires significant judgment. Auditing the Company&#8217;s estimate of total expected contract costs and effort necessary to completion is especially challenging due to the judgmental and subjective nature of the estimation of costs to complete, including material, labor and subcontracting costs, among others, unique to each revenue arrangement. Revisions in contract estimates can materially affect the Company&#8217;s operating results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We obtained an understanding of and evaluated the Company&#8217;s revenue recognition review procedures. To test the estimate of expected contract costs to complete and effort necessary to completion, our audit procedures included, among others, testing significant components of the estimate noted above, assessing the completeness of the cost estimates, reviewing changes in the estimates from previous periods and testing underlying data used by management. Further, our procedures included discussing project status with operations and finance management responsible for managing the contractual arrangements; inspecting evidence to support the assumptions made by management; evaluating the key assumptions utilized in development of the expected contract costs to complete the arrangement; and performing look-back procedures to assess previous estimates as well as performance on similar arrangements. We also reviewed documentation of management&#8217;s estimates as well as continued progress on open arrangements through the reporting date for evidence of changes that would affect estimates as of the balance sheet date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:AuditorName" id="Narr_kDNnoqG5RkuWB8dssQ9wAw">Marcum LLP</ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We have served as the Company&#8217;s auditor since 2013.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="dei:AuditorLocation" id="Narr_Bo3YR-wTG0iuguuTA7g7JA">Philadelphia, Pennsylvania</ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">September 13, 2024</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="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;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_0a2c209b_0ce6_44b2_94b2_e6bfafde4157"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt;">TECHPRECISION CORPORATION</p><a id="_CONSOLIDATED_BALANCE_SHEETS"></a><a id="CONSOLIDATEDBALANCESHEETS_64811"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt;">CONSOLIDATED BALANCE SHEETS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_c35a0a1b_2b50_47d9_9b01_ddd9bf1f153f"></a><a id="Tc_J5DHZdTbGkiDb8Vfrv7gGA_1_2"></a><a id="Tc_6TRlLnqaVEegNAcAUHORSQ_1_5"></a><a id="Tc_tg-fqOqlAE6P_5bjIGzDgQ_2_2"></a><a id="Tc_X01AIIVBIkOItQVHyo8PFw_2_5"></a><a id="Tc_44pQ_nhUJUueIzaB6Qb3vg_3_0"></a><a id="Tc_jv3YR8HcHkOJQBz59EhrQQ_4_0"></a><a id="Tc_5S_GK_bqBkG8rU_23p1EzQ_5_0"></a><a id="Tc_BjHCmacnzUWfSX7nykEfmw_5_2"></a><a id="Tc_7f7odFm5i0en3beUWnTUzw_5_5"></a><a id="Tc__0Tx0hIxIkSPhmrlungtPA_6_0"></a><a id="Tc_5FXur71-kEyam2e7TX-aOA_7_0"></a><a id="Tc_wMxQcxuQ_0qFvMKKhTjqZg_8_0"></a><a id="Tc__s6MxP8oOEiGYKOT8VgJiw_9_0"></a><a id="Tc_83VsFAOFA0e2JhDtQu1Qmg_10_0"></a><a id="Tc_lzXtc0uGgUG5v9e-4MY8Eg_11_0"></a><a id="Tc_irn3jR5HnEmzhALMNPMksg_12_0"></a><a id="Tc_ESRlD7sqWkWKE1zQsGML6A_13_0"></a><a id="Tc_35FJMzyxUkOsxx8broMN_w_14_0"></a><a id="Tc_5BkcIMLWI0G7emGlbPWxGg_14_3"></a><a id="Tc_all6HxGjK0mF1C4fZqgphg_15_0"></a><a id="Tc_gd4uKNxmtU2nwsgt-cXWkQ_16_0"></a><a id="Tc__QblF5vbc0e2-bZhmOm3Dw_16_2"></a><a id="Tc_t9g2OFc_zU-HN68gi4LD2Q_16_5"></a><a id="Tc_NBrVHV3dU0meg7xMN58fqg_17_0"></a><a id="Tc_c3_b86JKskycxQnu6w8wCQ_18_0"></a><a id="Tc_vzZhSSAFb0aJM2DZXHZexA_19_0"></a><a id="Tc_vi3RQCKDjkG1_4XWrY1izg_19_2"></a><a id="Tc_grM5rizvDEKjuaGe650ZkA_19_5"></a><a id="Tc_PCzsqr6ZK06M_vEKy_ASEA_20_0"></a><a id="Tc_5TyQviDsOUeQpmZzdVwL4A_21_0"></a><a id="Tc_VRzUEP48Ok-6l8rfCTLLyw_22_0"></a><a id="Tc_bqj2oXZxxkmx5C_TpmPyvA_23_0"></a><a id="Tc_XhCu81GykkCsay5nwQmxew_24_0"></a><a id="Tc_MLwMvEHyuUCi2aoAJQ2cTw_25_0"></a><a id="Tc_hVK_7vY_AEy7aGijzsuVRQ_25_3"></a><a id="Tc_ebCkO6fZeUi03QVTRV3xrg_26_0"></a><a id="Tc_nhWrMQDJy0CRb6-Y26kKeA_27_0"></a><a id="Tc_PSyW6NNQfk2a2hzTaPGuNw_28_0"></a><a id="Tc_nQtxINTaTU6ZYcaCIFzs4Q_29_0"></a><a id="Tc_wc-IiEWzMEOx1kglIHXyDQ_30_0"></a><a id="Tc_ixhn1grAC0KpLuvBAEfWcA_31_0"></a><a id="Tc_sdK44MJo9EOPvi0DdG1X1Q_32_0"></a><a id="Tc_EudiEPUzNkuyF-9ryjXz-Q_33_0"></a><a id="Tc_bakg65MVyUq8ctLQ8ShAiQ_34_0"></a><a id="Tc_pztuv_zVgk2r9FzrWyYniA_35_0"></a><a id="Tc_HRIGHG3QHUudAjR7gzBJ5g_35_2"></a><a id="Tc_HpqaXC232ECM2qLDrRbJ2g_35_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.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">ASSETS</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Current assets:</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Cash and cash equivalents</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="0" id="Tc_Rcei31oCekK7v67wMub6GQ_5_3">138,402</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="0" id="Tc_tNlQ0Pk1H0u6WTb01tAWuQ_5_6">534,474</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accounts receivable, net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_5AerOZ0biUqQsMj9XhYPjw_6_3">2,371,264</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_zx2ADguWNkOfF4A3423Fsw_6_6">2,336,481</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Contract assets</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="0" id="Tc_PqELL-CPR0GwFW3U_95lWw_7_3">8,526,726</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="0" id="Tc_Lu9vMzRXCkSHlPBtaXA8cQ_7_6">8,947,811</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Raw materials</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryRawMaterialsAndSupplies" scale="0" id="Tc_6LixiuTChEaWuZ59m2UKJw_8_3">1,826,765</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryRawMaterialsAndSupplies" scale="0" id="Tc_hlwg4qjoYkiPs6EnZ4UZQw_8_6">1,692,852</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Work-in-process </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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="0" id="Tc_ePvordZud0qpVBDR2IDhMA_9_3">1,422,938</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="0" id="Tc_XT8ceSbAc066YVTMOi2taw_9_6">719,736</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other current assets</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsCurrent" scale="0" id="Tc_71P1lc87Mkm9MGWT1HfcHA_10_3">563,688</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsCurrent" scale="0" id="Tc_pJ46M0dWtkC41dGb_0wxDQ_10_6">348,983</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total current assets</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="0" id="Tc_Kp29kDMIREi-7k4B52lOBw_11_3">14,849,783</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="0" id="Tc_t8XPjg14oUqLskLR5Xpqkw_11_6">14,580,337</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment, net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_fXBiN4-VKkGxxNDLNKCcLg_12_3">14,797,991</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_mircnu9dJUCW3BgaZjYW3g_12_6">13,914,024</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Right of use asset, net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="0" id="Tc_V4D85W2x9UeRHiA_NvVH7Q_13_3">4,977,665</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="0" id="Tc_evqXRQriIUe1lEGdtwqaQw_13_6">5,660,938</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income taxes</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="0" id="Tc_4X0Djrp6aESdBlIjtiX1Gg_14_6">1,931,186</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other noncurrent assets</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="0" id="Tc_z1vFLKNlDk2YZlS-_Tk7Dw_15_3">121,256</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="0" id="Tc_ULWyVwgJe0-k7o59jVajNA_15_6">121,256</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total assets</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_pu-W4cQBHUyfBHMJYoy5KQ_16_3">34,746,695</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_pikhHEOPEka6uOjG-OWu4A_16_6">36,207,741</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY:</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Current liabilities:</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accounts payable</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="0" id="Tc_MOoZCqbiYUSmQ82TNsjEpA_19_3">1,408,356</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="0" id="Tc_XlwokhG-20eUNo-Kq9PW5A_19_6">2,224,320</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accrued expenses</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="0" id="Tc_G4QoPk9t0USRyMXhOxT0YQ_20_3">4,262,486</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="0" id="Tc_gyH0ZhG3VkaeWfjkQB3t3w_20_6">2,533,185</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Contract liabilities</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" id="Tc_DfKmWBe7y0GMrnwpLen8ZA_21_3">3,787,933</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" id="Tc_52wv5xmop0CiIUr4RuvkVA_21_6">2,333,591</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Current portion of long-term lease liability</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="tpcs:LeaseLiabilityCurrent" scale="0" id="Tc_QP39dAAKH0WKWK8s_o7yWA_22_3">735,871</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="tpcs:LeaseLiabilityCurrent" scale="0" id="Tc_oO2KosWr5kGquqRr6DfVVw_22_6">711,727</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Current portion of long-term debt, net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="0" id="Tc_vktlFflnZUChNNH3PtonCg_23_3">7,558,683</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="0" id="Tc_BOXtAUcBXUK63soyXPbi0Q_23_6">1,218,162</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total current liabilities</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="0" id="Tc_h1SCpP4vmkiW9MYVYSLn7Q_24_3">17,753,329</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="0" id="Tc_fN2MDyAVlUWnKreRbuvyWA_24_6">9,020,985</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Long-term debt, net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="0" id="Tc_CUkj6UTDG0KgX9x9UWSgsg_25_6">4,749,139</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Long-term lease liability</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="0" id="Tc_jamdQAuWzkaE2jo7OWa7hQ_26_3">4,408,103</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="0" id="Tc_MdNjj1PZ2E-2hjY9KP_Fqw_26_6">5,143,974</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other noncurrent liability</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="0" id="Tc_rlKu4QnzJkKsLwpGPWThXQ_27_3">4,782,372</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="0" id="Tc_3w4-HXXibkO3XSHCe4kleA_27_6">2,699,492</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total liabilities</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="0" id="Tc_WSpV-AMkvECCr--s4x1Glg_28_3">26,943,804</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="0" id="Tc_FCB_WD-j10-VqzbOWZVtaA_28_6">21,613,590</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Commitments and contingent liabilities (see Note 15)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Stockholders&#8217; Equity:</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Common stock - par value $<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_PKMdUshqWkKVtZDjZWujJw"><ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_Xr8DvNTFaE6XBIk7lLPucw">.0001</ix:nonFraction></ix:nonFraction> per share, shares authorized: March 31, 2024 &#8211; <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_DRGmiwcncke4ERAF3pHYZQ"><ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_uYGI1U7n1UmGWtzKzaN1ig">50,000,000</ix:nonFraction></ix:nonFraction>; Shares <span style="-sec-ix-hidden:Hidden_qWNwwZ4WtUWOlw0joiQ_vQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">issued</span></span> and <span style="-sec-ix-hidden:Hidden_Fdg6ii3AE0mnWR9sRv1afw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">outstanding</span></span>: March 31, 2024 &#8211; <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_YUUExP2uCUa7DFIW6Q489A">8,777,432</ix:nonFraction>; March 31, 2023 &#8211; <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_vEx3Jo76MkK9Ach8tT2oVw">8,613,408</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="0" id="Tc_HeUkiMMT0Ui_OZDLcIZkrw_31_3">878</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="0" id="Tc_QJlSrk2tRUmx9jZvhh7zeQ_31_6">861</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Additional paid in capital</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapital" scale="0" id="Tc_vSP31CEroESD7Z2s_AnUzg_32_3">15,200,624</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapital" scale="0" id="Tc_LwjVP8ePdkG6rcnCbc4rjw_32_6">14,949,729</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Retained earnings (accumulated deficit)  </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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" sign="-" scale="0" id="Tc_80aPrfJbg0-cX8nImujijA_33_3">7,398,611</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" sign="-" scale="0" id="Tc_DyV7nLZSoUikdMN8Oje3Ig_33_6">356,439</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total stockholders&#8217; equity</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_kYM6tAKJqEi8Ebu90EtK4g_34_3">7,802,891</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_LPi7RrDmxEmsS3RHAp3ZpQ_34_6">14,594,151</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total liabilities and stockholders&#8217; equity</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="0" id="Tc_7I7RPn8gQkSOOFsugNQDMA_35_3">34,746,695</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="0" id="Tc_YSP6G1tC-Euq0S3SgES9_w_35_6">36,207,741</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">See accompanying notes to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;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;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_16364780_38ac_46d4_98e3_648ffd28cebe"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt;">TECHPRECISION CORPORATION</p><a id="_CONSOLIDATED_STATEMENTS_OF"></a><a id="CONSOLIDATEDSTATEMENTSOFOPERATIONS_93521"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt;">CONSOLIDATED STATEMENTS OF OPERATIONS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_ad65d04d_7385_4aa9_8cf4_4727b2f06837"></a><a id="Tc_bNdUz3FEykmQd6deDM60SA_1_2"></a><a id="Tc_XQRCvZKdUE68dyI6JvYSFw_2_2"></a><a id="Tc_m1H7MDipPkewXYHcM5FuIg_2_5"></a><a id="Tc_Tg4_ILq-lEee0xypQeg1gQ_3_0"></a><a id="Tc_XLT0Oe5txESyOqtzsAhuZQ_3_2"></a><a id="Tc_qxJgcAu_8USbxDinpA1lsw_3_5"></a><a id="Tc_uJ9b_eH63USZXlgI4EhR3A_4_0"></a><a id="Tc_ixQlITl0jEa8lXbd8icz_A_5_0"></a><a id="Tc__rJYb2dnX02Z2cHxWq5_uQ_6_0"></a><a id="Tc_Yz1F26KbUUm9HjbYrMxhZQ_7_0"></a><a id="Tc_DoEcNFLN_UCvHSoZI27VBQ_8_0"></a><a id="Tc_2TF0OOvTKkeKD_Fb-CsfwQ_9_0"></a><a id="Tc_QQbkmHEXzE2zd7zBcbsjlw_10_0"></a><a id="Tc_jZyp092Xc0GwwmCNy3EE1Q_10_3"></a><a id="Tc_6tDxjnhO6k2qZ2-VIGi3ZQ_11_0"></a><a id="Tc_MNtMSkHfk06Fplap4USB1Q_12_0"></a><a id="Tc_-cRZUtkBfU-UkYG6RAkvPQ_13_0"></a><a id="Tc_I2bItrmBXUCu4mqZ_YoXmg_14_0"></a><a id="Tc_Jx7w850iGUGif3IcxpbOAg_14_2"></a><a id="Tc_v3V5kjdFvESv5_qzYC_YRw_14_5"></a><a id="Tc_J90HufC4AEigK5iegfv2KA_15_0"></a><a id="Tc_Jk8MxmnehEiy5020vdp2HQ_15_2"></a><a id="Tc_l5X88VHvrk298C4jAvQ6Lg_15_5"></a><a id="Tc__9m3ssQgwEi98dFJuygKhA_16_0"></a><a id="Tc_GVgl4x-0WEC1pP1LvF3LFA_16_2"></a><a id="Tc__QYL91RmZEG96Xo6iTG2_Q_16_5"></a><a id="Tc_NKKZKxK_70aAuh3V4Jiw7Q_17_0"></a><a id="Tc_p9uRPn3TvkWnSvdpdtyuXQ_18_0"></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:72.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Years ended March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_Ty7bOKvzx06GMftBDYEwsA_3_3">31,591,059</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_XJuHF8N0nkuHN0E3TbnPTA_3_6">31,431,614</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of sales</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="0" id="Tc_bSMBJvEPZ0K_I-Sxdc8M5A_4_3">27,472,883</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="0" id="Tc_6gv7rmcnjEKaB5Q4OFV-Rw_4_6">26,527,953</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gross profit</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_nitLjNirw0yIRwS_j0sOoA_5_3">4,118,176</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_1O6kcUlOIkGbMk5lMQg-iA_5_6">4,903,661</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Selling, general and administrative</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="0" id="Tc__3lWLQxD90WtdNPcBKTitg_6_3">8,750,376</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="0" id="Tc_qnalwRHRhkKv-H834PWf3g_6_6">6,008,881</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Loss from operations</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="0" id="Tc_kQiOJlaxfUOJaIYkA2a7Xg_7_3">4,632,200</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="0" id="Tc_ZYftg8R1wUmc35J1cvfc9A_7_6">1,105,220</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Other income (expense), net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="tpcs:OtherIncomeAndExpense" scale="0" id="Tc_TN2xqQQE_U21lR-D5hoOVg_8_3">43,363</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:OtherIncomeAndExpense" scale="0" id="Tc_aozWvRT5Q0uISGIOiuznYg_8_6">40,842</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Interest expense</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseNonoperating" scale="0" id="Tc_ym5CL2idpUqkvTlnx87hSQ_9_3">521,108</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseNonoperating" scale="0" id="Tc_Q8QoimH-XkKYCEPfChF1LQ_9_6">355,608</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Refundable employee retention tax credits</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:EmployeeRetentionCreditRefund" scale="0" id="Tc_ZNeDin7Gg0GrSDK9-TdkMA_10_6">636,564</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total other (expense) income, net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="0" id="Tc_niW6fpYN2EGOObybKfZyXw_11_3">477,745</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="0" id="Tc_lz-K3nKx4kuaBEIUxsPatA_11_6">321,798</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Loss before income taxes</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="0" id="Tc_owGo4hOM2kWjEYXjiQwBLQ_12_3">5,109,945</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="0" id="Tc_yokC5ntc6Ue64ZsdCs3vCQ_12_6">783,422</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income tax expense</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" id="Tc_Mv_Omez2cUeQerAJ_CY2Cg_13_3">1,932,227</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" id="Tc_Ku2I3H6oqk-U4ilMDw683w_13_6">195,584</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Net loss  </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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" sign="-" scale="0" id="Tc_FYYJXPrybU20p1mfw6bF-g_14_3">7,042,172</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" sign="-" scale="0" id="Tc_VGoPnnNwhUa7YvFnvMO3Og_14_6">979,006</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss per share &#8211; basic</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" sign="-" scale="0" id="Tc_eSjeek3baEGSHh65rtjugQ_15_3">0.81</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" sign="-" scale="0" id="Tc_Uo4dIOYTPkGE3lWVxpLcgA_15_6">0.11</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss per share &#8211; diluted</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" sign="-" scale="0" id="Tc_YhO73HoyLkWqj1Nuu75U7Q_16_3">0.81</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" sign="-" scale="0" id="Tc_GZHfzarOCEWQQs5ClvqtAw_16_6">0.11</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average number of shares outstanding &#8211; basic</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_BK861UU86kWUUU79qrx2bA_17_3">8,717,160</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_55xqw8pxsUu8g54J-4Y4xA_17_6">8,595,992</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average number of shares outstanding &#8211; diluted</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_wme4Nl0yiESrYWukHG2kBQ_18_3">8,717,160</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_aXbrIm2IV0Or0d2Tt8pxKQ_18_6">8,595,992</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">See accompanying notes to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;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;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_2dcc300c_391e_4468_98ba_34cd82285c53"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt;">TECHPRECISION CORPORATION</p><a id="_CONSOLIDATED_STATEMENTS_OF_1"></a><a id="CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUI"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt;">CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_a70c0544_3961_4f04_b0d1_714293f30407"></a><a id="Tc_i7fAMZEHMkOLTc5ZG35pTA_1_10"></a><a id="Tc_AGjPlOgi-k-H3a7Mu4lvHw_2_2"></a><a id="Tc_nvZg-GMtu0yhNNo0bcwLCg_2_7"></a><a id="Tc_pLgmAe7VmECgWf4nHeUM9w_2_10"></a><a id="Tc_jTb4E8qWy0WsAjBEOCnzAA_2_13"></a><a id="Tc_oij3PvsESkaLSvwIGbcgnA_3_2"></a><a id="Tc_Eibdvh-47EW0PDceW16ECQ_3_4"></a><a id="Tc_cqFDG5Kjv0KFXrC-BzPkmQ_3_7"></a><a id="Tc_vvC3SurGlUSschhuN20ZPQ_3_10"></a><a id="Tc_lRbUPuF64ESQmyvmpD-Oaw_3_13"></a><a id="Tc_evXKGk8RyEy50umh8T6jOQ_4_2"></a><a id="Tc_CN_-wyAyIkCMFuqrL3HO2Q_4_4"></a><a id="Tc_CBQGkwQXjES-2vA242sR8A_4_7"></a><a id="Tc_bsXc9_pnHkWUYB1K7_MC5w_4_10"></a><a id="Tc_B4Addxn-0kutm2q0AIpk3g_4_13"></a><a id="Tc_uP8VuFk1BE2hi5qbuqxF3w_5_0"></a><a id="Tc_EEQeUH0trkin7H-sF1T08Q_5_4"></a><a id="Tc_RuB9Hm1YnUugcg24dZiUwg_5_7"></a><a id="Tc_rTE7vCI7vE-tQOJvDV-fbw_5_10"></a><a id="Tc_F7a20fSnFUaw0JecxsApKw_5_13"></a><a id="Tc_ilCluO5eM0i3m08ybUPvug_6_0"></a><a id="Tc_Lr-_cc_CsEGpR9WiWZmv-Q_6_2"></a><a id="Tc_VpL9AoIL8kSZgBfY7qw5TQ_6_5"></a><a id="Tc_O0_CP865p0C6tzk-A2uSjA_6_11"></a><a id="Tc_TzfBMnYE-EmX4L5D4guyFg_7_0"></a><a id="Tc_ICbNl5X-_EO5s-uurfpJhg_7_11"></a><a id="Tc_crMtO8t3BUyUlq9CMoYk0g_8_0"></a><a id="Tc_9dtP64Pq-Eu1_dbWghFUew_8_11"></a><a id="Tc_vpEKd527ikWSGx7nz_8NgQ_9_0"></a><a id="Tc_Jzou_3JZHEuLLj9EWKoixA_9_5"></a><a id="Tc_9wo4l4CqCE-nDz1y7jPc5g_9_8"></a><a id="Tc_KAZX7t6p2ECB0AScShkdIw_9_11"></a><a id="Tc_z3FoOUdErE2CBjWsaaAMvg_9_14"></a><a id="Tc_urFGmmeNbUuLYF-3mXCkLQ_10_0"></a><a id="Tc_T1gRQUb8XkiPGUId6aG8FA_10_2"></a><a id="Tc_dQ8xNN93okyf9cpJAwKGVQ_10_5"></a><a id="Tc_JNIMhB2ipk-pZ5uMgdhicA_10_8"></a><a id="Tc_YdKRorDWWU2rbh5dG8amzA_11_0"></a><a id="Tc_UF09GEyfW0enQAnraaRLoQ_11_4"></a><a id="Tc_hpfbktlsC0q2xfYiTcU9Xw_11_7"></a><a id="Tc_KZ_QdcrdQ0yh7vhZRxn-bA_11_10"></a><a id="Tc_ge6J5l0KfU2jkdMX3qDipA_11_13"></a><a id="Tc_fKztRa7_Ek-D_nmF-AxW4Q_12_0"></a><a id="Tc_1_V8OCNK2UKpRb5V3_9j5w_12_11"></a><a id="Tc_TUvKgWycCkOfACZdaLJDzQ_13_0"></a><a id="Tc__up-__Hqmk2DcZ0G58U3DQ_13_11"></a><a id="Tc_v0EzIYoBxkeoHK1zm-tlAQ_13_14"></a><a id="Tc_aMt7Ronq7kquaLdpfi4jIQ_14_0"></a><a id="Tc_QKZcYUHUiUqN8nd8uA2vRA_14_2"></a><a id="Tc_c6dZsOOaWk-MUw5X2PhGmw_14_5"></a><a id="Tc_CdxvxIGpkUG-gLkpWIQ98w_14_11"></a><a id="Tc_DrBLSRLnmU2RYM5smpJITA_15_0"></a><a id="Tc_WUPZdCH4U0eTH24xaxvhSA_15_11"></a><a id="Tc_sUcfwLu3hE2hSvDCt3luFg_16_0"></a><a id="Tc_IX9_R4GnRUm2rTypNCxs_Q_16_2"></a><a id="Tc_Bs2IG9mjsUyhByJD5_9KcA_16_5"></a><a id="Tc_YyKvwd88BEWXaOsF6CkvVg_16_8"></a><a id="Tc_pjsPl7gDFEGUuG6yG9UTng_17_0"></a><a id="Tc_EgWKxNYOcEylNSeyzwcZ0A_17_4"></a><a id="Tc_01PZ0fyp6Eiq7Da5_RoCSQ_17_7"></a><a id="Tc_gyTrLFpUaUOTf5t0sMrrtw_17_10"></a><a id="Tc_HqkUXQkUsUuui4EjNKM1qA_17_13"></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:46.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:46.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Par</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Paid&#160;in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Stockholders&#8217;</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Outstanding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capital</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Deficit)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Equity</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance March 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_mb_BWrabQkOpeAQHDt0JJA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="0" id="Tc_QFl1Uc_f40OY9ldcOyNzVw_5_2">8,576,862</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_mb_BWrabQkOpeAQHDt0JJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_AeGfc5RvRkCHLVb7b3WWtA_5_5">858</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_T33AawPJtkSnc7o03gvbxg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_nw2vvIKTQEuOlnMN-MHO0A_5_8">14,640,343</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_FGcbh8UaDkuh-5cpHm4bjA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc__E3eDFjAokupQkAcogJrtA_5_11">622,567</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2022_URldAZsxQk-e2NkMeLkdSg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_IVoQcoVk80m58if-h4AywA_5_14">15,263,768</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_WGakJHhYwkCFssdUJfzt4w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_yKm2X0GP4E2nA-2MGo3h_Q_6_8">109,079</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_M6k8F9wChUCe9b2YIt4ESA_6_14">109,079</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock issued for contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7T2peg8aDkGntl6kWp5Kgg" decimals="INF" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodSharesContingentConsideration" scale="0" id="Tc_cj_5eRL1C0aTmggJghbn3Q_7_2">9,127</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7T2peg8aDkGntl6kWp5Kgg" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodValueContingentConsideration" scale="0" id="Tc_e7hAhamrMUmbZxr5NwR6BA_7_5">1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_WGakJHhYwkCFssdUJfzt4w" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodValueContingentConsideration" scale="0" id="Tc_O9SWvKdhKk23AROfEzScfg_7_8">56,309</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodValueContingentConsideration" scale="0" id="Tc_mlNkddlY3kyA5jqw_AMjOg_7_14">56,310</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock award non-employee directors</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7T2peg8aDkGntl6kWp5Kgg" decimals="INF" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan" scale="0" id="Tc_nFw-527BE066E2bChRswdg_8_2">25,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7T2peg8aDkGntl6kWp5Kgg" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" scale="0" id="Tc__n1sX0Cw_UG10EF0DrxiZg_8_5">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_WGakJHhYwkCFssdUJfzt4w" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" scale="0" id="Tc_vE3pMGJDBky078mEHsUNGg_8_8">143,998</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" scale="0" id="Tc_vDnqeMbN2UGitKawYtu30A_8_14">144,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock split fractional share round up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7T2peg8aDkGntl6kWp5Kgg" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockSplitFractionalShareRoundUpInShares" scale="0" id="Tc_W76t1I1KQUqcVegyTHCMzw_9_2">2,419</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ywDkSImrxUmH26eaGTggYA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" sign="-" scale="0" id="Tc_xtq5o0t8b0-YipfQZE2avQ_10_11">979,006</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" sign="-" scale="0" id="Tc_sn8aW9YfE0eBGvRJK0MDzQ_10_14">979,006</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7IxXPn1wokKqIKvOFZLy3A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="0" id="Tc_K6umh4elYUahZLJZL8bjwA_11_2">8,613,408</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7IxXPn1wokKqIKvOFZLy3A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_9-pDHeZOmkCy7a6McJNOUA_11_5">861</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_cHXiB6Prs0W_8I4EkWArWQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_XKWth0xcHk-YDjBZCgtHKQ_11_8">14,949,729</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Ey_sgK2tPkWln0P7Rh0HKg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="0" id="Tc_hKx21dzFYkGZ7PbVoCj6ng_11_11">356,439</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_59XwsiCfs0KKcOS2D-k1FA_11_14">14,594,151</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock award non-employee directors</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan" scale="0" id="Tc_GV5E-e_DLUmNFnwdKUd-7A_12_2">25,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" scale="0" id="Tc_IJUf831Pq0awXJOZd_4vVg_12_5">3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_yFyAORoEI0KE2DhoFuviwg" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" scale="0" id="Tc_sId5Cg8Hok-RlNfvEe-Rng_12_8">177,747</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" scale="0" id="Tc_7rs83J0vVEWTZwDXkaNk9g_12_14">177,750</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock issued for exercised options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_CU5mBWtrIk-8o1Nj6X03fQ_13_2">109,024</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_a0q4YJiN70K6OTKCB1ooYw_13_5">11</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_yFyAORoEI0KE2DhoFuviwg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" sign="-" scale="0" id="Tc_9-yvbdM52kWBbgqYKBFM2Q_13_8">11</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Tax withheld for exercised options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_yFyAORoEI0KE2DhoFuviwg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="0" id="Tc_U6n5ZhFdCkmJk0UOg2ulOw_14_8">34,013</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="0" id="Tc_CH1uJW_6eEi1NwzX1zVs4g_14_14">34,013</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Restricted stock awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="0" id="Tc_r0-c2Be8O0a7vWzlWYYSjg_15_2">30,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="0" id="Tc_v2t3mYGLH0qiEkOJuXk6zA_15_5">3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_yFyAORoEI0KE2DhoFuviwg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="0" id="Tc_HruYiIoNZ02P26Q_J_7soQ_15_8">107,172</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="0" id="Tc_uNdAKG2S_EKysayJ_jhGVQ_15_14">107,175</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_yZ4LfliIO024zqPZyncitw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" sign="-" scale="0" id="Tc_XHETb5javUWFsdmVEqV0fg_16_11">7,042,172</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" sign="-" scale="0" id="Tc_W-orofDgWUaO5RkgOWfszw_16_14">7,042,172</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:46.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_-5IntPUmBUuRmTldx4KY_g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="0" id="Tc_g2dXKK5oMkCkrbJyR-hVMA_17_2">8,777,432</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_-5IntPUmBUuRmTldx4KY_g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_zY8btfY-Gku4eRQJ8QyQxg_17_5">878</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eR7MOPsa3kiPRjFPWmFMCg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_G2H8DWg0NUmzxOxbHTFAGg_17_8">15,200,624</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_WdssD4RQXkOr5lRCuDUwOw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="0" id="Tc_-bqe930M9EO3weJA85TSng_17_11">7,398,611</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_CwJ5hNzxyk6DeE_81AiZSQ_17_14">7,802,891</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">See accompanying notes to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;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;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_ad9ff2cc_1811_4c75_adca_f552eac6b84f"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt;">TECHPRECISION CORPORATION</p><a id="_CONSOLIDATED_STATEMENTS_OF_2"></a><a id="CONSOLIDATEDSTATEMENTSOFCASHFLOWS_811835"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt;">CONSOLIDATED STATEMENTS OF CASH FLOWS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_b9408811_90d4_48ab_8ec9_c0f48db61649"></a><a id="Tc_RCrgRs4PQEyV2HkOMS0PfQ_1_2"></a><a id="Tc_MS9niRAUu0Wf6ca4-m4kOA_2_2"></a><a id="Tc_Mqrr0-RxpkGVYGPUAoCTUA_2_5"></a><a id="Tc_gI4fZsofskGeCixl6wYcMA_3_0"></a><a id="Tc_47R6RD5qFUO73_F2JKyykA_4_0"></a><a id="Tc_BXIL88mN8UWe58CfZ-HRTg_4_2"></a><a id="Tc_scItPWQEhk-9DJBPhMTA_g_4_5"></a><a id="Tc_o-2f1wwT5ECnCmdP4NoDOg_5_0"></a><a id="Tc_88Svf_01Hkq66J5a8dT9SA_6_0"></a><a id="Tc_TKIiPpyEF0qVZyQ_XfD0kQ_7_0"></a><a id="Tc_tZO3N9jn4UaCLVkMMWiijg_8_0"></a><a id="Tc_5BfdTjN04UCRwZa4Mlqe6g_9_0"></a><a id="Tc_ZVcIWOueiEqw7Zjo5WDLNA_10_0"></a><a id="Tc_-B4fz2bv3UmUUTM2UwfqbQ_11_0"></a><a id="Tc_lSpBJ_ksUEynbf0uJ8rq_w_12_0"></a><a id="Tc_6KKswIDC_UeiY_QBt6eEWg_12_6"></a><a id="Tc_n95YZiXD3Emerxa7XcQzYw_13_0"></a><a id="Tc_FF2_hEKChkuTBu2v53ERHA_13_3"></a><a id="Tc_7D0lmdK7-UKkRur24bDtLw_14_0"></a><a id="Tc_yQylV9p7a0eRlep1FNrvKQ_14_3"></a><a id="Tc_haHxdyduT0Kjs0jRx1uA2Q_15_0"></a><a id="Tc_ts1Yzv1wjUyOmeke_aLH2w_16_0"></a><a id="Tc_9sFWrNkIWkmZ7rDnBzWBEA_17_0"></a><a id="Tc_bvqYjZimrkWXdoMoLv8sOQ_18_0"></a><a id="Tc_ZQOkkH9Iikq0S8hcKEUDTQ_19_0"></a><a id="Tc_Hf2RPAmeVE2Aayb1VrlDCg_20_0"></a><a id="Tc_V7iCZZvwr0K2r5BHuWVhfw_21_0"></a><a id="Tc_GDyrDQ60nE2NRpUCsf2QIA_22_0"></a><a id="Tc__bSggnSbtUSr72k-tG8BLA_23_0"></a><a id="Tc_WuXhpfsEmkazaqJq21shrw_24_0"></a><a id="Tc_2rMl8wAygU2wBjoxZrn_IA_25_0"></a><a id="Tc_4OfAUISB_k2ZItUlRwRbCA_26_0"></a><a id="Tc_m3lu2BV6tECDi6guou8HQA_27_0"></a><a id="Tc_7Svguy4R-0aoz1nKXiYQeA_27_6"></a><a id="Tc_wpoKaSt-5UiUPLRY6vW82g_28_0"></a><a id="Tc__LeIaPaHGEGmOiDJHUOQAA_28_3"></a><a id="Tc_Ioo_FFt9OEeBj9b3OBxAiQ_29_0"></a><a id="Tc_paGYY8il6UWi8GWwxXjadw_30_0"></a><a id="Tc_W2Twd9za3k-Q97fhjSBBwA_31_0"></a><a id="Tc_sMYu7sFYlUWmwsUwILp0fg_32_0"></a><a id="Tc_YxhvkbfeSUS2d5yDxZ_OyQ_33_0"></a><a id="Tc_WvGXasvJjk2mx-kmhjjjBw_34_0"></a><a id="Tc_SQjXKIWmf0yFTEQQXF0CaA_35_0"></a><a id="Tc_VDHWZTxrsEC4ljD9f0-HFw_36_0"></a><a id="Tc_JnI1nM_oSUeVWHVkvCdlAg_37_0"></a><a id="Tc_jmCNOtAAVUmusdogO3h-wg_38_0"></a><a id="Tc_OntbccywgE-lbcLw_AmaaA_39_0"></a><a id="Tc_WxPux5iss0aQ5XwM1Zf6LQ_39_2"></a><a id="Tc_oXHHQPVleUqbviRhgKfpDA_39_5"></a><a id="Tc_x-YRojDBIkCJZS49A7KubQ_40_0"></a><a id="Tc_KcBjs_LvlEmWAcpYZHGbSw_41_0"></a><a id="Tc_PeysHwH1J0yC9R6Bfq5cHA_41_2"></a><a id="Tc_u--v9WIzKU6f7vtKCjrvGg_41_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:top;width:71.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Years Ended March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">CASH FLOWS FROM OPERATING ACTIVITIES</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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Net loss  </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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="0" id="Tc_wfCTiceXf0eJLw5YjFkbqA_4_3">7,042,172</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="0" id="Tc_gkGPgRRSPU6JyHGxzjqWvw_4_6">979,006</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Adjustments to reconcile net loss to net cash provided by operating activities:</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" id="Tc_KDz-rDoZe0GQuCFvyATX0Q_6_3">2,429,377</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" id="Tc_xAw7_K2Z0UGSIG4URC91RA_6_6">2,217,472</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Amortization of debt issue costs</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="0" id="Tc_4k89j9nUbkeeeIu2CSr31g_7_3">106,840</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="0" id="Tc_lhTHPjW680eNJYj6oEgKag_7_6">59,916</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Gain on disposal of equipment</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="0" id="Tc_mhsvVgu-v0eTwfp4rcZWdQ_8_3">39,129</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="0" id="Tc_hunyXsXZG0yCiSXq3dBoAw_8_6">468</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Stock based compensation and restricted stock awards</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="0" id="Tc_e1bGOkO800KwjJnE76k4xw_9_3">284,925</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="0" id="Tc_vMEQu72aF0OQQRn4dfsA3g_9_6">253,079</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in contract loss provision</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnContractTermination" sign="-" scale="0" id="Tc_wcaly_ANsU-aLbn7zPs_Vg_10_3">190,370</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnContractTermination" scale="0" id="Tc_GbvUlSj58UmKTqhAkNxoGA_10_6">237,318</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Deferred income taxes</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="0" id="Tc_A3arXRYPy0O4CjxngUigWw_11_3">1,931,186</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="0" id="Tc_WgyZAYie4kSW-QpF4OGasA_11_6">195,584</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Stock based acquisition termination fee</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockBasedAcquisitionTerminationFeesAmount" scale="0" id="Tc_h8TMzk1Fi02mF2o44Mpzcw_12_3">1,116,800</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Stock based expense for contingent consideration</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockBasedExpenseForContingentConsideration" scale="0" id="Tc_-lMjq3rKQkOcTv011Vl7yg_13_6">56,310</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in fair value for contingent consideration</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:GainLossFromContingentConsideration" scale="0" id="Tc_XdxI-p7dpUunauHq0KxDtw_14_6">63,436</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Changes in operating assets and liabilities:</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Accounts receivable</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="0" id="Tc_5Yy-TRrbiU-S_GA836QRZA_16_3">34,783</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" sign="-" scale="0" id="Tc_nmksYrn-h0esZJ4Dj7QlMg_16_6">672,768</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Contract assets</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" sign="-" scale="0" id="Tc_tPtAmHAzCkGpzBbY4iqrKA_17_3">421,085</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="0" id="Tc_FKWcu4gGEUWbFrcvkLTGKQ_17_6">597,580</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Work-in-process and raw materials </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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="0" id="Tc_ol9BldGM8E2SZVDuqoUnNA_18_3">837,115</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="0" id="Tc_2bqWOoQlB02hdkRe-AFz6Q_18_6">177,914</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Other current assets</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" scale="0" id="Tc_d0INGlSYEUaY60-1Kc9iUw_19_3">214,705</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" sign="-" scale="0" id="Tc_yCNX0-e2qUiQ9yyQDLNbTA_19_6">1,072,476</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Accounts payable</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" sign="-" scale="0" id="Tc_JRsYlVVU_0SSrq4Ldz0nxQ_20_3">815,964</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" sign="-" scale="0" id="Tc_Nvf9H1m4j0yWtw_iO_-C-A_20_6">1,202,601</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Accrued expenses</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="0" id="Tc_cl76tWIfz0uc5iYoV1v_qw_21_3">388,116</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" sign="-" scale="0" id="Tc_8eld-iF8_0Ois8a4qMLMsQ_21_6">1,094,137</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Contract liabilities</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="tpcs:IncreaseDecreaseInContractLiabilities" scale="0" id="Tc_bU0V3DfI10OQm09XuI-JXw_22_3">1,454,342</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:IncreaseDecreaseInContractLiabilities" scale="0" id="Tc_AL92lvaJJU-QkWEdY19mAw_22_6">568,273</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Other noncurrent liabilities </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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="0" id="Tc_9mP_vflTlUSS-4GumStohA_23_3">1,965,691</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="0" id="Tc_JvKYbzFIBE2PaICUXqvZJQ_23_6">2,394,420</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net cash provided by operating activities</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="0" id="Tc_lepHWPsgKES-FO9XolvLGw_24_3">1,304,864</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="0" id="Tc_izgtCB9yK02lH9jQ3erTKQ_24_6">3,137,838</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">CASH FLOWS FROM INVESTING ACTIVITIES</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Purchases of property, plant, and equipment</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="0" id="Tc_LbWD2n2ZWUCkAqluPLXZHw_26_3">3,230,237</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="0" id="Tc_W2seS4cZgU-On4rG-aOUSg_26_6">2,325,301</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">   Proceeds from fixed assets insurance settlement</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="tpcs:ProceedsFromFixedAssetsInsuranceSettlement" scale="0" id="Tc_FBNWhdw6UUKWUMwBtZb7cA_27_3">61,944</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Proceeds from sale of fixed assets</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="0" id="Tc_XZUUMDOySkKsNumGngTR5g_28_6">7,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net cash used in investing activities</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="0" id="Tc_4QGuUXrd20yzHj-h4GId3Q_29_3">3,168,293</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="0" id="Tc_Rq8ackB4pEGHRFLnaVEuug_29_6">2,318,301</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">CASH FLOWS FROM FINANCING ACTIVITIES</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Proceeds from revolver loan</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="tpcs:ProceedsFromTermLoan" scale="0" id="Tc_FHVARUbuiEmB7UwHDUbn7Q_31_3">7,160,000</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:ProceedsFromTermLoan" scale="0" id="Tc_ILz6TJ28k0SImtqgJ7EiaA_31_6">10,885,150</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Repayment of revolver loan</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLinesOfCredit" scale="0" id="Tc_-P3EpPcX-UGrvyYpaRYDyw_32_3">5,025,000</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLinesOfCredit" scale="0" id="Tc_-xFZrdJr5Eiu9wUe6V6zUg_32_6">11,522,152</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Debt issuance costs</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfLoanCosts" scale="0" id="Tc_VwGfSUB3702y2JkX-B7vAg_33_3">50,363</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfLoanCosts" scale="0" id="Tc_r9j39kMBK0Gte-iynpAdZA_33_6">57,723</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Principal payments for leases</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" id="Tc_kZiSa03IPkaGb0DCHwBy8g_34_3">17,185</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" id="Tc_-6grOXpU8ECPC8vZ9REOhg_34_6">36,572</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Repayment of long-term debt</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="0" id="Tc_IxwqaJdGJU61zZu837sCEw_35_3">600,095</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="0" id="Tc_8hQDnh0zp02w6oDNPm_2_Q_35_6">605,905</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net cash provided by (used in) financing activities</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="0" id="Tc_J4iNcAsmZ0qKDHgv_rkEuQ_36_3">1,467,357</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="0" id="Tc_Wtx3P598L0WdWH-cZSVSbw_36_6">1,337,202</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net decrease in cash and cash equivalents</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="0" id="Tc_8LUebSC_1EOedmGLyAw87Q_37_3">396,072</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="0" id="Tc_Ha0UEWh8SEGA-il3EJeeiw_37_6">517,665</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash and cash equivalents, beginning of period</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="0" id="Tc_T3NIeDL4-0eMyKi-aqwJBQ_38_3">534,474</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2022_URldAZsxQk-e2NkMeLkdSg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="0" id="Tc_ey5REPpp8UKPRfDlN5rvgA_38_6">1,052,139</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash and cash equivalents, end of period</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="0" id="Tc_4AFujK5uj0yGYD7g117Srw_39_3">138,402</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="0" id="Tc_UaEPWMkpS0eps6c1s3aOFw_39_6">534,474</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">SUPPLEMENTAL DISCLOSURES OF CASH FLOWS INFORMATION</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid during the year for interest (net of interest capitalized)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="0" id="Tc_wev0BQL040yIxlJem7_MYg_41_3">414,268</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="0" id="Tc_whhfVVvuI0muoVhbsfI6yg_41_6">288,085</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">See accompanying notes to the consolidated financial statements.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">SUPPLEMENTAL INFORMATION - NONCASH OPERATING, INVESTING AND FINANCING TRANSACTIONS:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Fiscal Year Ended March 31, 2024 </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On July 13, 2023, our former CFO exercised an option to purchase <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_7_13_2023_To_7_13_2023_srt_TitleOfIndividualAxis_srt_ChiefFinancialOfficerMember_idobkPO_Kkia9HD26fL6Tw" decimals="INF" format="ixt:numdotdecimal" name="tpcs:CommonStockPursuantToOptionAwards" scale="0" id="Narr_Dqutf_-R70Gl_TVmVOaoRA">125,000</ix:nonFraction> shares of the Company&#8217;s common stock pursuant to option awards previously granted under the 2016 Plan. The option was exercised as a cashless net settlement transaction and resulted in the delivery of <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_7_13_2023_To_7_13_2023_srt_TitleOfIndividualAxis_srt_ChiefFinancialOfficerMember_idobkPO_Kkia9HD26fL6Tw" decimals="INF" format="ixt:numdotdecimal" name="tpcs:OptionsExercisedAsCashlessNetSettlementTransaction" scale="0" id="Narr__6Yhq1JMm0my1Vv0QtLXNg">109,024</ix:nonFraction> shares of common stock on July 13, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Fiscal Year Ended March 31, 2023</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Stadco entered into a payment arrangement agreement, or the &#8220;Payment Agreement&#8221;, with the Department of Water and Power of the City of Los Angeles, or the &#8220;LADWP&#8221;, to settle previously outstanding amounts for water, water service, electric energy and/or electric service in the aggregate amount of&#160;$<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_jsdo4SVWZEKM3U9vIWdJAw" decimals="INF" format="ixt:numdotdecimal" name="tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" scale="0" id="Narr_qnrp9RO94EiYdR46xSKPcw">1,770,201</ix:nonFraction>&#160;that are delinquent and unpaid. This liability amount was included in accounts payable on the Company&#8217;s balance sheet as of March 31, 2022, and was reclassified as a current liability for $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_12_31_2022_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_8GZDsVIrukaitXKcVaxbzw" decimals="0" format="ixt:numdotdecimal" name="tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" scale="0" id="Narr_5PQnpGnmokaEp4RNZiM3Lg">221,272</ix:nonFraction>&#160;to accrued expenses and to noncurrent liabilities for $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_12_31_2022_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_8GZDsVIrukaitXKcVaxbzw" decimals="0" format="ixt:numdotdecimal" name="tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" scale="0" id="Narr_ZC-vVDFva02pWjpfc7HCmQ">1,548,929</ix:nonFraction> in December 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;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;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:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_NOTES_TO_CONSOLIDATED"></a><a id="_4a1c4ea9_24b9_4198_b85d_799eff1d65a8"></a><a id="NOTESTOCONSOLIDATEDFINANCIALSTATEMENTS_3"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTES&#160;TO CONSOLIDATED FINANCIAL STATEMENTS</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:NatureOfOperations" id="Tb_N6cbBgfOeUu6QbYFp9lG2w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;1&#160;- DESCRIPTION OF BUSINESS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">TechPrecision Corporation, or &#8220;TechPrecision&#8221;, is a Delaware corporation organized in February 2005 under the name Lounsberry Holdings II, Inc. On February 24, 2006, we acquired all the issued and outstanding capital stock of our wholly owned subsidiary Ranor, Inc., or &#8220;Ranor.&#8221; Ranor, together with its predecessors, has been in continuous operation since 1956. The name was changed to TechPrecision Corporation on March 6, 2006.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">TechPrecision is the parent company of Ranor, Westminster Credit Holdings, LLC, or &#8220;WCH&#8221;, Stadco New Acquisition, LLC, or &#8220;Acquisition Sub&#8221;, and Stadco. TechPrecision, Ranor, WCH, Acquisition Sub and Stadco are collectively referred to as the &#8220;Company&#8221;, &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 25, 2021, the Company completed its acquisition of Stadco, pursuant to that certain stock purchase agreement with Acquisition Sub, Stadco Acquisition, LLC, Stadco and each equity holder of Stadco Acquisition, LLC. On the closing date, the Company, through Acquisition Sub, acquired all the issued and outstanding capital stock of Stadco from Stadco Acquisition, LLC in exchange for the issuance of shares of the Company&#8217;s common stock to Stadco Acquisition, LLC. As a result of the acquisition, Stadco is now our wholly owned indirect subsidiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We manufacture large-scale metal fabricated and machined precision components and equipment. These products are used in a variety of markets including defense and aerospace, nuclear, medical, and precision industrial. All our operations and customers are in the United States, or &#8220;U.S.&#8221;.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" id="Tb_cwBSgCuD3UCqnjbL-27PRA" continuedAt="Tb_cwBSgCuD3UCqnjbL-27PRA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;2&#160;- BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="Tb_RH2Fw2o6FU-j-xzcIGd2sQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Basis of Presentation and Consolidation - </i>The accompanying consolidated financial statements include the accounts of TechPrecision, Ranor, Stadco, and Westminster Credit Holdings, LLC. Intercompany transactions and balances have been eliminated in consolidation. On February 23, 2023, the Company effected a <span style="-sec-ix-hidden:Hidden_EXe3YM4Mu0qaxLIQ7lbOKA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span>-for-four reverse stock split with respect to the issued and outstanding shares of TechPrecision common stock. All share and per-share amounts included in this Form 10-K are presented as if the stock split had been effective from the beginning of the earliest period presented.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:UseOfEstimates" id="Tb_etS2nWD2mUyxDk_boiu9NQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Use of Estimates in the Preparation of Financial Statements&#160;-</i> In preparing the consolidated financial statements in conformity with generally accepted accounting principles in the United States, or &#8220;U.S. GAAP&#8221;, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and revenues and expenses during the reported period. We continually evaluate our estimates, including those related to revenue recognition, long-lived assets, and income taxes. We base our estimates on historical and current experiences and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="tpcs:RisksAndUncertaintiesPolicyPolicyTextBlock" id="Tb_6jmABuwIUEyYhaLloUDtSw" continuedAt="Tb_6jmABuwIUEyYhaLloUDtSw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Going Concern, Risks and Uncertainties -</i> For the fiscal years ended March 31, 2024 and 2023, we reported pre-tax losses of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="6" id="Narr_2Koj-H55TEWJgekoMmMMnA">5.1</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="6" id="Narr_DBLH07OXk0mXU5NLjHlJNQ">0.8</ix:nonFraction> million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of March 31, 2024, we had $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="tpcs:TotalAvailableLiquidity" scale="6" id="Narr_nPtCuHb6XkerwX0ChXrRTw">0.6</ix:nonFraction> million in total available liquidity, consisting of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="6" id="Narr_8GvVKfVa-EmR2ohtu0QT3g">0.1</ix:nonFraction> million in cash and cash equivalents, and approximately $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" id="Narr_8pav8u-l10uSsCcAK-yUfg">0.5</ix:nonFraction> million in undrawn capacity under our revolver loan. As of March 31, 2023, we had $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="-5" format="ixt:numdotdecimal" name="tpcs:TotalAvailableLiquidity" scale="6" id="Narr_qRQV_OPT_UGS-BNYJEd_lA">4.7</ix:nonFraction> million in total available liquidity, consisting of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="6" id="Narr_mHVvpEJnWEmNp_F1h7MgSA">0.5</ix:nonFraction> million in cash and cash equivalents, and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" id="Narr_tzPGuKM_YUCWAp85KjUZ4g">4.2</ix:nonFraction> million in undrawn capacity under our revolver loan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is the borrower under a Loan Agreement which was amended on March 20, 2024 (as defined below; see Note 11 &#8211; <i style="font-style:italic;">Debt</i>). On that date, Ranor and certain affiliates of the Company entered into a Seventh Amendment to Amended and Restated Loan Agreement and Third Amendment to Second Amended and Restated Promissory Note, or the &#8220;Seventh Amendment&#8221;. In addition to extending the maturity date of the revolver loan to May 20, 2024, the Seventh Amendment limited the amount of proceeds borrowed to $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_20_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_ABOSMhqirUuogJ4b4Zpn-w" decimals="-5" format="ixt:numdotdecimal" name="tpcs:LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts" scale="6" id="Narr_yXiCfCBbDEuhku3Y-WSJpg">2.0</ix:nonFraction> million in the aggregate for due diligence and professional costs incurred prior to May 20, 2024 in connection with any potential acquisitions. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On May 28, 2024, Ranor and certain affiliates of the Company entered into the Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Eighth Amendment&#8221; (see Note 12 &#8211; <i style="font-style:italic;">Debt</i>). In addition to extending the maturity date of the revolver loan to August 30, 2024, the Eighth Amendment reduced the maximum principal amount from $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_vcRMbv3wNEGsIfKFv4jOxA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_Sf8W5pzdmkGi_9U6SmOvXg">5.0</ix:nonFraction> million to $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_5_28_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_Ji5swtgxfkuaF-KgnM6Ovw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_tv71IqfdB02RrczmslgwEQ">4.5</ix:nonFraction> million and required that an operational assessment be performed, primarily at Stadco, by an </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;text-align:center;margin:24pt 0pt 0pt 0pt;">44</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_cwBSgCuD3UCqnjbL-27PRA_cont1" continuedAt="Tb_cwBSgCuD3UCqnjbL-27PRA_cont2"><ix:continuation id="Tb_6jmABuwIUEyYhaLloUDtSw_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">acceptable third-party consultant. The lender has acknowledged receipt of that operational assessment of Stadco as required pursuant to the Eighth Amendment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Ninth Amendment&#8221;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company acknowledges that a certain event of default has occurred and is continuing under the Loan Agreement as a result of the Company&#8217;s failure to satisfy the Debt Service Coverage Ratio, or DSCR, for the twelve-month period ending March 31, 2024. The lender reserves any and all rights and remedies available to it under the Loan Agreement, including, without limitation, its right to choose to accelerate and demand the outstanding indebtedness evidenced by the loan documents, and to seek immediate repayment in full.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">There was $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_28NYI-AdzUi03e8TfKsX7A" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="6" id="Narr_iFWK185gVEmZTHuvGV0XVw">7.6</ix:nonFraction> million in total outstanding under the Loan Agreement on March 31, 2024. Without a waiver, the lender has the right, but not the obligation, to demand repayment from the Company for noncompliance with the debt covenants. In addition, the bank retains the right to act on covenant violations that occur after the date of delivery of any waiver. The lender has not granted us a waiver. As such, we need to seek alternative financing to pay these obligations as the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations. It is also probable that the Company will not be in compliance with the same debt covenants at subsequent measurement dates within the next twelve months. As a result of the above, all of our long-term debt has been classified as current in our consolidated balance sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is exploring various means of strengthening its liquidity position and ensuring compliance with its debt financing covenants by making Stadco operations profitable, renewing our revolver loan, or entering into alternative debt facilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On July 3, 2024, the Company entered into a Securities Purchase Agreement with certain accredited investors, pursuant to which the Company agreed to sell in a private placement at an aggregate purchase price of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_7_3_2024_To_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_ZGcMv0h32UK2IQw9D1ABfw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="6" id="Narr_XwPUeb6_uEKd7igvPpVSpQ">2.3</ix:nonFraction> million, (i) <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_7_3_2024_To_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_ZGcMv0h32UK2IQw9D1ABfw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="0" id="Narr_xrLjE-JsVECMrBR-JcX95w">666,100</ix:nonFraction> shares of the Company&#8217;s common stock, par value $<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_sV8HMYtNfkKVV4TwIw2bag" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_RswSx-5NXUOeGWn0cCgRxw">0.0001</ix:nonFraction> per share, and (ii) common stock purchase warrants to purchase up to <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_sV8HMYtNfkKVV4TwIw2bag" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" scale="0" id="Narr_Xh4-zCh8KEyEMKR4ZZ1RNw">666,100</ix:nonFraction> shares of Common Stock. The combined purchase price for one Share and one Purchaser Warrant was $<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_sV8HMYtNfkKVV4TwIw2bag" decimals="2" format="ixt:numdotdecimal" name="tpcs:SaleOfStockAndWarrantPricePerShare" scale="0" id="Narr_VThbRl9jwkuYU_WjOMHc_Q">3.45</ix:nonFraction>. The purpose of the Securities sale under the Purchase Agreement is to raise working capital for use by the Company. The closing of the offering occurred on July 8, 2024. (see Note 17 &#8211;<i style="font-style:italic;"> Subsequent Events</i>). Placement agent&#8217;s fees in connection with the offering totaled $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_7_3_2024_To_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_ZGcMv0h32UK2IQw9D1ABfw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NoninterestExpenseTransferAgentAndCustodianFees" scale="0" id="Narr_iwPg0ATbsk2IixFS_N31zw">126,014</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In order for us to continue operations beyond the next twelve months from the date of issuance of the financial statements and to be able to discharge our liabilities and commitments in the normal course of business, we must renew our revolver loan or seek alternative financing by August 30, 2024. We must mitigate our recurring operating losses at our Stadco subsidiary, efficiently increase utilization of our manufacturing capacity at Stadco and improve the manufacturing process. We plan to closely monitor our expenses and, if required, will reduce operating costs to enhance liquidity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The uncertainty associated with the recurring operating losses at Stadco, the revolver loan renewal, the need for alternative financing, and compliance with debt covenants at subsequent measurement dates raise substantial doubt about our ability to continue as a going concern for at least one-year after the date the consolidated financial statements included in this Annual Report on Form 10-K are issued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We believe our available cash, proceeds from a private placement offering, plus cash expected to be provided by operations and borrowing capacity available under the Revolver Loan (until August 2024 when the Company expects to renew), will be sufficient to fund our operations, expected capital expenditures, and principal and interest payments under our lease and debt obligations through the next 12 months from the issuance date of our financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The consolidated financial statements for the fiscal year ended March 31, 2024, were prepared on the basis of a going concern which contemplates that we will be able to realize assets and discharge liabilities in the normal course of business. Accordingly, they do not give effect to adjustments that would be necessary should we be required to liquidate assets. Our ability to satisfy our current liabilities and to continue as a going concern is dependent upon the Company&#8217;s compliance with the debt covenants, renewing the revolver loan, and its ability to grow revenue and reduce costs at Stadco. The consolidated financial statements do not include any adjustments that might result from the outcome of these uncertainties.</p></ix:continuation><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="Tb_fW3rBOwSv06jPCdQaXN01g" continuedAt="Tb_fW3rBOwSv06jPCdQaXN01g_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Cash and cash equivalents -</i> Holdings of highly liquid investments with maturities of three months or less, when purchased, are considered to be cash equivalents. Our deposit and money market accounts are maintained in a large U.S. regional bank.</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;text-align:center;margin:24pt 0pt 0pt 0pt;">45</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_cwBSgCuD3UCqnjbL-27PRA_cont2" continuedAt="Tb_cwBSgCuD3UCqnjbL-27PRA_cont3"><ix:continuation id="Tb_fW3rBOwSv06jPCdQaXN01g_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ReceivablesPolicyTextBlock" id="Tb_vPL7WIid_k6pSToiIG7eow" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Accounts receivable and allowance for credit losses&#160;- </i>Accounts receivable are comprised of amounts billed and currently due from customers. Accounts receivables are amounts related to any unconditional right the Company has for receiving consideration and are presented as accounts receivables in the consolidated balance sheets. We maintain allowances for credit losses for estimated losses resulting from the inability of our customers to make required payments. Under the current expected credit loss model, we employ a roll-rate methodology, utilizing historical loss rates and historical trends in credit quality indicators (e.g., delinquency, risk ratings), adjusted to reflect current economic conditions and forecasts of future economic conditions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Management considers the following factors when determining the collectability of specific customer accounts: customer creditworthiness, past transaction history with the customer, current industry trends, and changes in customer payment terms. Our normal collection cycle ranges between thirty and forty days. Estimated uncollectible amounts are charged to earnings and a credit to a valuation allowance. Balances which remain outstanding after reasonable collection efforts are written off through a charge to the valuation allowance and a credit to accounts receivable. Historically, the level of uncollectible accounts has not been significant. An allowance for credit losses of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="0" id="Narr_50RDefMBxkCApbVZfxTzaA"><ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="0" id="Narr_GjgGh1s_hkma8iALHsaWEA">22,000</ix:nonFraction></ix:nonFraction> was recorded at March 31, 2024 and 2023.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:InventoryPolicyTextBlock" id="Tb_usFmxVWih0eRrr8_XNB4fg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Inventories&#160;- </i>Work-in-process and raw materials are stated at the lower of cost or net realizable value. Cost is determined by the first-in, first-out (FIFO) method.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="tpcs:ContractAssetsPolicyTextBlock" id="Tb_ZhjdePnbH0G8Dc5-Yjof7Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Contract Assets</i>&#160;- Contract assets represent the Company&#8217;s rights to consideration for work completed but not billed as of the reporting date when the right to payment is not just subject to the passage of time. The amount of contract assets recorded in the consolidated balance sheet reflects revenue recognized on contracts less associated advances and progress billings. These amounts are billed in accordance with the agreed-upon contract terms or upon achievement of contract milestones and recorded at net realizable value.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="Tb_-1GCYpRKcUadvH7EqCcJLg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Property, plant and equipment, net&#160;-</i> Property, plant and equipment are recorded at cost less accumulated depreciation and amortization. Depreciation and amortization are accounted for on the straight-line method based on estimated useful lives. The amortization of leasehold improvements is based on the shorter of the lease term or the useful life of the improvement. Betterments and large renewals, which extend the life of the asset, are capitalized whereas maintenance and repairs and small renewals are expensed as incurred. The estimated useful lives are machinery and equipment, <ix:nonNumeric contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_ppmpedlrQU-U7W3gkd5spw" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_vXAnKsYLFU6SMW8LS0BwTQ">5</ix:nonNumeric>-<ix:nonNumeric contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_aWMCkWlB0kSk-sPyeDzCYg" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_QY2VSlG6FE-e_3Q9cCLKcg">15&#160;years</ix:nonNumeric>; buildings,&#160;<ix:nonNumeric contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_joU_ClbzJUOoNjkJOQhWbQ" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_jcAWokF-9E-rRb8F5EmhLg">30 years</ix:nonNumeric>; and leasehold improvements, <ix:nonNumeric contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_AQiOM43YE0qgDCofkenMRg" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_lY02GndDSk-rha_5kPJezA">2</ix:nonNumeric>-<ix:nonNumeric contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_Bspxyde9CkyLuueZvrDawA" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_j8XEFj_VKUacs4vYemREJw">5&#160;years</ix:nonNumeric>. Upon sale or retirement of machinery and equipment, costs and related accumulated depreciation are eliminated, and gains or losses are recognized in the statement of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Interest is capitalized for assets that are constructed or otherwise produced for our own use, including assets constructed or produced for us by others for which deposits or progress payments have been made. Interest is capitalized to the date the assets are available and ready for use. When an asset is constructed in stages, interest is capitalized for each stage until it is available and ready for use. We use the interest rate incurred on funds borrowed specifically for the project. The capitalized interest is recorded as part of the asset to which it relates and is amortized over the asset&#8217;s estimated useful life.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In accordance with Accounting Standards Codification, or &#8220;ASC&#8221;, 360, <i style="font-style:italic;">Property, Plant&#160;&amp; Equipment</i>, our property, plant and equipment is tested for impairment when triggering events occur and, if impaired, written-down to fair value based on either discounted cash flows or appraised values. The carrying amount of an asset or asset group is not recoverable if it exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset or asset group.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:LesseeLeasesPolicyTextBlock" id="Tb_V6PRB5HVgEWgyXvKGeNgtg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Leases -</i> Right-of-use assets for operating leases are measured at the initial amount of the lease liability adjusted for lease payments made at or before the lease commencement date, plus any initial direct costs incurred less any lease incentives received. Right-of-use assets for operating leases are subsequently measured throughout the lease term at the carrying amount of the lease liability, plus initial direct costs, plus (minus) any prepaid (accrued) lease payments, less the unamortized balance of lease incentives received. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Operating lease liabilities are initially measured at the present value of the unpaid lease payments at the lease commencement date. We have one and two finance leases outstanding as of March 31, 2024 and 2023, respectively. See Note 14, <i style="font-style:italic;">Leases</i>, for additional information.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="tpcs:DebtIssuanceCostsPolicyPolicyTextBlock" id="Tb_lQQAsNdMn0-lUFRh193kCA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Debt Issuance Costs&#160;-</i> Costs incurred in connection with obtaining financing for long-term debt are capitalized and presented as a reduction of the carrying amount of the related debt. Costs incurred in connection with obtaining financing for revolving credit facilities and lines of credit are capitalized and presented as reduction of the carrying amount of the revolver loan. Loan acquisition costs are being amortized using the effective interest method over the term of the loan.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="tpcs:ContractLiabilitiesPolicyTextBlock" id="Tb_KDafYnq-mUitT4ZfsDLM3g" continuedAt="Tb_KDafYnq-mUitT4ZfsDLM3g_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Contract Liabilities</i>&#160;- Contract liabilities are comprised of advance payments, billings in excess of revenues, and deferred revenue amounts. Such advances are not generally considered a significant financing component because they are utilized to pay for contract </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;text-align:center;margin:24pt 0pt 0pt 0pt;">46</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_cwBSgCuD3UCqnjbL-27PRA_cont3" continuedAt="Tb_cwBSgCuD3UCqnjbL-27PRA_cont4"><ix:continuation id="Tb_KDafYnq-mUitT4ZfsDLM3g_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">costs within a one-year period. Contract liability amounts are recognized as revenue once control over the underlying performance obligation has transferred to the customer.</p></ix:continuation><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" id="Tb_JXv_5vS-1kOtvLbE67iAHg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Fair Value Measurements&#160;-</i> We account for fair value of financial instruments in accordance with ASC 820,<i style="font-style:italic;"> Fair Value Measurement</i>, which defines fair value and establishes a framework to measure fair value and the related disclosures about fair value measurements. The fair value of a financial instrument is the amount that could be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. Financial assets are marked to bid prices and financial liabilities are marked to offer prices. Fair value measurements do not include transaction costs. The Financial Accounting Standards Board, or FASB, establishes a fair value hierarchy used to prioritize the quality and reliability of the information used to determine fair values. Categorization within the fair value hierarchy is based on the lowest level of input that is significant to the fair value measurement. The fair value hierarchy is defined into the following three categories: Level 1:&#160;Inputs based upon quoted market prices for identical assets or&#160;liabilities in active markets at the measurement date; Level 2:&#160;Observable inputs other than quoted prices included in Level 1, such as quoted prices for similar assets and liabilities in active markets; quoted prices for identical or similar assets and liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data; and Level 3: Inputs that are management&#8217;s best estimate of what market participants would use in pricing the asset or liability at the measurement date.&#160;The inputs are unobservable in the market and significant to the instruments&#8217; valuation. In addition, we will measure fair value in an inactive or dislocated market based on facts and circumstances and significant management judgment. We will use inputs based on management estimates or assumptions or adjust observable inputs to determine fair value when markets are not active and relevant observable inputs are not available.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">ASC 825,<i style="font-style:italic;"> Financial Instruments</i>, requires disclosures about the fair value of financial instruments. The carrying amount of cash and cash equivalents, accounts receivable, accounts payable, and accrued expenses, as presented in the balance sheet, approximates fair value due to the short-term nature of these instruments. The carrying value of short and long-term borrowings approximates their fair value.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:RevenueRecognitionPolicyTextBlock" id="Tb_BWtr8708SEO097K4BFXeow" continuedAt="Tb_BWtr8708SEO097K4BFXeow_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Revenue Recognition</i>&#160;- The Company accounts for revenue under Accounting Standards Update, or &#8220;ASU&#8221;, 2014-09, <i style="font-style:italic;">Revenue from Contracts with Customers (Topic 606), </i>or &#8220;ASC 606&#8221;, and related amendments<i style="font-style:italic;">.</i> ASC 606 sets forth five steps for revenue recognition: identification of the contract, identification of any separate performance obligations in the contracts, determination of the transaction price, allocation of the transaction price to separate performance obligations, and revenue recognition when performance obligations are satisfied.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue over time based on the transfer of control of the promised goods or services to the customer. This transfer occurs over time when the Company has an enforceable right to payment for performance completed to date, and our performance does not create an asset that has an alternative use to the Company. Otherwise, control to the promised goods or services transfers to customers at a point in time. Our customers make advance payments and progress payments under the terms of each manufacturing contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The majority of the Company&#8217;s contracts have a single performance obligation and provide title to, or grant a security interest in, work-in-process to the customer. In addition, these contracts contain enforceable rights to payment, allowing the Company to recover both its cost and a reasonable margin on performance completed to date. The combination of these factors indicates that the customer controls the asset and revenue is recognized as the asset is created or enhanced. The Company measures progress for performance obligations satisfied over time using input methods (e.g., costs incurred, resources consumed, labor hours expended, and time elapsed).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Under arrangements where the customer does not have title to, or a security interest in, the work-in-process, our evaluation of whether revenue should be recognized over time requires significant judgment about whether the asset has an alternative use and whether the entity has an enforceable right to payment for performance completed to date. When one or both of these factors is not present, the Company will recognize revenue at the point in time where control over the promised good or service transfers to the customer, i.e. when the customer has taken physical possession of the product the Company has built for the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company and its customers may occasionally enter into contract modifications, including change orders. The Company may account for the modification as a separate contract, the termination of an old contract and creation of a new contract, or as part of the original contract, depending on the nature and pricing of the goods or services included in the modification. In general, contract modifications&#160;- as well as other changes in estimates of sales, costs, and profits on a performance obligation&#160;- are recognized using the cumulative catch-up method of accounting. This method recognizes in the current period the cumulative effect of the changes in current and prior periods. A significant change in an estimate on one or more contracts in a period could have a material effect on the consolidated balance sheet or results of operations for that period. For the fiscal&#160;year ended March&#160;31, 2024 and 2023, net cumulative catch-up adjustments were </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;text-align:center;margin:24pt 0pt 0pt 0pt;">47</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_AfGnE4okekaj6TEbt7-2Yw_1_2"></a><a id="Tc_OgQtyH9Ny0KvgV8c7Huedg_1_5"></a><a id="Tc_gDtF4ojC6ki3yCxhtXropg_2_0"></a><a id="Tc_mvQXGes6xUm8m-TC-QinyA_2_2"></a><a id="Tc_6Y6anTdRFkiAJ3qkjAVhAA_2_5"></a><a id="Tc_2fNQuF_KKECAdfQFMWR6Kw_3_0"></a><a id="Tc_B1D6r4XhRUa9zXiAa9RS4w_4_0"></a><a id="Tc_yfiKXSC4RkOhrgmZyN8seA_5_0"></a><a id="Tc_oiOuXDiXSUqIGXX3rTUdJw_5_6"></a><a id="Tc_N7JAlKIbOU6RhzJKC1I21A_6_0"></a><a id="Tc_hMzAD8lD2EWtsioiPkjf7A_6_6"></a><a id="Tc_iPjSqu6Ic0S1F0yj6Fbdhg_7_0"></a><a id="Tc_KXL8mbCII0mY_TDzwGK6NA_7_2"></a><a id="Tc_brcWcR14bEGmbknMWWo6dw_7_5"></a><ix:continuation id="Tb_cwBSgCuD3UCqnjbL-27PRA_cont4" continuedAt="Tb_cwBSgCuD3UCqnjbL-27PRA_cont5"><ix:continuation id="Tb_BWtr8708SEO097K4BFXeow_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">not material. No individual adjustment was material to the Company&#8217;s consolidated statements of operations loss for the fiscal&#160;year ended March&#160;31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">If incentives and other contingencies are provided as part of the contract, the Company will include in the initial transaction price the consideration to which it expects to be entitled under the terms and conditions of the contract, generally estimated using an expected value or most likely amount approach. In the context of variable consideration, the Company limits, or constrains, the transaction price to amounts for which the Company believes a significant reversal of revenue is not probable. Adjustments to constrain the transaction price may be due to a portion of the transaction price being more than approved funding, a lack of history with the customer, a lack of history with the goods or services being provided, or other items.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Shipping and handling fees and costs incurred in connection with products sold are recorded in cost of sales in the consolidated statements of operations and are not considered a performance obligation to our customers.</p></ix:continuation><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="tpcs:ContractEstimatesPolicyTextBlock" id="Tb_LoxgzyRSWUGr3sEQVEVySQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Contract Estimates</i>&#160;- In estimating contract costs, the Company takes into consideration a number of assumptions and estimates regarding risks related to technical requirements and scheduling. Management performs periodic reviews of the contracts to evaluate the underlying risks. Profit margin on any given project could increase if the Company is able to mitigate and retire such risks. Conversely, if the Company is not able to properly manage these risks, cost estimates may increase, resulting in a lower profit margin, or potentially, contract losses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The cost estimation process requires significant judgment and is based upon the professional knowledge and experience of the Company&#8217;s engineers, program managers, and financial professionals. Factors considered in estimating the work to be completed and ultimate contract recovery include the availability, productivity, and cost of labor, the nature and complexity of the work to be performed, the effect of change orders, the availability of materials, the effect of any delays in performance, the availability and timing of funding from the customer, and the recoverability of any claims included in the estimates to complete. Costs allocable to undelivered units are reported as work in process, a component of inventory, in the consolidated balance sheet. Pre-contract fulfillment costs requiring capitalization are not material.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock" id="Tb_2gJlZfO4X0KKjbGXf1ZzNQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Selling, general and administrative</i>&#160;- Selling, general and administrative, or &#8220;SG&amp;A&#8221;, expenses include items such as executive compensation and benefits, professional fees, business travel and office costs. Advertising costs are nominal and expensed as incurred. Other general and administrative expenses include items for our administrative functions and include costs for items such as office supplies, insurance, legal, accounting, telephone, and other outside services. SG&amp;A consisted of the following for the fiscal&#160;years ended March&#160;31:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="tpcs:ScheduleOfSellingGeneralAndAdministrativeTableTextBlock" id="Tb_JsBWVakzRU2HD3xTtK2weA" 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;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:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Salaries and related expenses</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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LaborAndRelatedExpense" scale="0" id="Tc_z5b_PgRJSkyUzbMaRaVhxA_2_3">2,342,316</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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LaborAndRelatedExpense" scale="0" id="Tc_n7D8sYwP_EW2xVb0jaFiQA_2_6">2,823,979</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Professional fees</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProfessionalFees" scale="0" id="Tc_4cm7o7vbd0OdZDS6s58FaA_3_3">1,721,487</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProfessionalFees" scale="0" id="Tc_zPY0U0gb40qP3HZt4fjAuQ_3_6">1,795,904</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other general and administrative</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherGeneralAndAdministrativeExpense" scale="0" id="Tc_UdiQOZO8qU-DNK9YrTOnHw_4_3">1,719,615</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherGeneralAndAdministrativeExpense" scale="0" id="Tc_Nfrspok9lkKENqsVlYuXVQ_4_6">1,388,998</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Due diligence advisory and legal fees related to acquisition termination</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="tpcs:AdvisoryAndLegalFeesRelatedToAcquistionTermination" scale="0" id="Tc_Heklai953UeSX3A12G5hvw_5_3">1,850,158</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock based acquisition termination fee</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockBasedAcquisitionTerminationFeesAmount" scale="0" id="Tc_kMrCOdCuqEGZudJ7_8H-aA_6_3">1,116,800</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total Selling, general and administrative</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="0" id="Tc_7UeL1V9CPkWMaStf6mAQtA_7_3">8,750,376</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="0" id="Tc_dVOZCwhmpEKQRipaLJ9JoA_7_6">6,008,881</ix:nonFraction></p></td></tr></table></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="Tb_nFgG88saqkWhfiVUVdt06Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Stock-based Compensation&#160;-</i> Stock-based compensation represents the cost related to stock-based awards granted to our board of directors, employees, and consultants. We measure stock-based compensation cost at the grant date based on the estimated fair value of the award and recognize the cost as expense on a straight-line basis over the requisite service period. We estimate the fair value of stock options using a Black-Scholes valuation model. Stock-based compensation included in selling, general and administrative expense amounted to $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_IncomeStatementLocationAxis_us-gaap_SellingGeneralAndAdministrativeExpensesMember_c3kUAyoCT02kEJf3OY21-w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" id="Narr_MurTwFZODkiK_L4F70jc6g">284,925</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_SellingGeneralAndAdministrativeExpensesMember_NxVEv8o7DUOvqH9rhR_ZvQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" id="Narr_bR9MowUf_EKbh9zRgyRPqg">253,079</ix:nonFraction> for the fiscal years ended March 31, 2024 and 2023, respectively. See Note 7 for additional disclosures related to stock-based compensation.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:EarningsPerSharePolicyTextBlock" id="Tb_1LZAVXHplUSdwIT3sS-d0A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Net Loss per Share of Common Stock - </i>Basic net loss per common share is computed by dividing net loss income by the weighted average number of shares outstanding during the year. Diluted net loss income per common share is calculated using net loss divided by diluted weighted-average shares. Diluted weighted-average shares include weighted-average shares outstanding plus the dilutive effect of stock options calculated using the treasury stock method. See Note 6 for additional disclosures related to net loss per share.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:IncomeTaxPolicyTextBlock" id="Tb_IUePvT_lF022WJmdP3IDmQ" continuedAt="Tb_IUePvT_lF022WJmdP3IDmQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Income Taxes&#160;-</i> In accordance with ASC&#160;740, <i style="font-style:italic;">Income Taxes</i>, income taxes are accounted for under the asset and liability method<i style="font-style:italic;">.</i> Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.</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;text-align:center;margin:24pt 0pt 0pt 0pt;">48</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_cwBSgCuD3UCqnjbL-27PRA_cont5"><ix:continuation id="Tb_IUePvT_lF022WJmdP3IDmQ_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the&#160;years in which those temporary differences and carryforwards are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;">Valuation allowances are recorded to reduce deferred tax assets when it is more likely than not that a tax benefit will not be realized. We recognize the effect of income tax positions only if those positions are more likely than not to be sustained. Recognized income tax positions are measured at the largest amount that is greater than 50% likely of being realized. Changes in recognition or measurement are reflected in the period in which the change in judgment occurs.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;">We recognize interest and penalties accrued related to income tax liabilities in selling, general and administrative expense in our Consolidated Statements of Operations.</span></p></ix:continuation></ix:continuation><a id="NOTE3ACCOUNTINGSTANDARDSUPDATE_353344"></a><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" id="Tb_kOTKQCnxoEOE6Vz_6HIEgA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">NOTE 3 &#8211; ACCOUNTING STANDARDS UPDATE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">New Accounting Standards Recently Adopted</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In June 2016, the Financial Accounting Standards Board, or &#8220;FASB&#8221;, issued ASU 2016-13, <i style="font-style:italic;">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</i>, as amended subsequently by ASUs 2018-19, 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The guidance in these ASUs requires that credit losses be reported using an expected losses model rather than the incurred losses model that is currently used. The standard also establishes additional disclosures related to credit risks. This standard was effective for fiscal years beginning after December 15, 2022. The adoption of this ASU on April 1, 2023, did not have a significant impact on the Company&#8217;s consolidated financial statements and disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">New Accounting Standards Not Yet Adopted</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In December 2023, the FASB issued ASU 2023-09<i style="font-style:italic;">,</i> <i style="font-style:italic;">Income Taxes</i> <i style="font-style:italic;">(Topic 740):</i> <i style="font-style:italic;">Improvements to Income Tax Disclosures</i>. The amendments in ASU 2023-09 address investor requests for more transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. This standard update is effective for annual reporting periods beginning after December 15, 2024. The Company is currently evaluating this update to determine the impact it may have on its consolidated financial statements and disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In November 2023, the FASB issued ASU 2023-07, <i style="font-style:italic;">Segment Reporting &#8211; Improvements to Reportable Segment Disclosures</i>. The guidance in this update enhances segment reporting by expanding the breadth and frequency of segment disclosures required for public entities and allows registrants to disclose multiple measures of segment profit or loss. This update requires a public entity to disclose its significant segment expense categories and amounts for each reportable segment. A significant segment expense is any significant expense incurred by the segment, including direct expenses, shared expenses, allocated corporate overhead, or interest expense that is regularly reported to the Chief Operating Decision Maker, or CODM, and is included in the measure of segment profit or loss. This standard update is effective for fiscal years beginning after December 15, 2023, and interim periods in fiscal years beginning after December 15, 2024. The Company is currently evaluating this update to determine the impact it may have on its consolidated financial statements and disclosures.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="Tb_UuJFsCo74kmLRgyljlpZlQ" continuedAt="Tb_UuJFsCo74kmLRgyljlpZlQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;4&#160;&#8211; REVENUE</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company generates revenue primarily from performance obligations completed under contracts with customers in two main market sectors: defense and precision industrial. The period over which the Company performs its obligations can be between <span style="-sec-ix-hidden:Hidden_1sVous34DUSzD1snjPTZvg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> and <span style="-sec-ix-hidden:Hidden_FkHvfCt8KUec6QpcTBke7Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">thirty -six months</span></span>. The Company invoices and receives related payments based upon performance progress not less frequently than&#160;monthly.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;text-align:center;margin:24pt 0pt 0pt 0pt;">49</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="_b35871e1_8c15_4b64_9989_4c1b0ec347ab"></a><a id="Tc_LqpQL4_7xUSJgaH8MOP_ew_1_0"></a><a id="Tc_9RXziugc1UqyCrSrgU2ACw_1_2"></a><a id="Tc_Ge6ujcjS00yvbHEWXA956A_1_5"></a><a id="Tc_iMHI4xlqFEWh5jBsRClYag_1_8"></a><a id="Tc_YBjHG1PqYEKUup1W8T03IQ_2_0"></a><a id="Tc_NH2TLF_5s0CPVryOnC3tSA_2_2"></a><a id="Tc_hVDtt2qTvkSFVHPC2Zeypw_2_5"></a><a id="Tc_QfPEvwYWVU-A5RrFrGBshA_2_8"></a><a id="Tc_e6bzFVnJ7UGLx5cds5szgw_3_0"></a><a id="Tc_NPDXhB-0ykaZmwcQFKuuPg_3_2"></a><a id="Tc_rNpqSDIStkCEjc3v_aCVWQ_3_5"></a><a id="Tc_BrZQu2_aaE-KYUyinV_6nA_3_8"></a><a id="_6c38918f_c677_4635_a1f2_c4fd056fa541"></a><a id="Tc_VKLMwH-3lkKOCXIN5mIFwQ_1_0"></a><a id="Tc_eaH_ecuoT02IOfqAlGWOOg_1_2"></a><a id="Tc_8XS5x8JbpUqV8XVmf7v3iw_1_5"></a><a id="Tc_iHJfkemElUiidnMXb8i9Ng_1_8"></a><a id="Tc_O7C4NwdqPE21pGTvfCL-Sw_2_0"></a><a id="Tc_VVo9lifMWUiEBgnDw9chQQ_2_2"></a><a id="Tc_K_MLROOrqk2DDUqonw2huA_2_5"></a><a id="Tc_ZiOT0SuUUEe_5N2QJm_EmQ_2_8"></a><a id="Tc_pDHiIRWJXkuiM93bmyp3hA_3_0"></a><a id="Tc_2yvYZxDEtEmr9N54iiU-Gw_3_2"></a><a id="Tc_4Diitus0IUSqauimngyoHw_3_5"></a><a id="Tc_xefN1SeQXkCcydsqlSZ8ig_3_8"></a><a id="_9c9f882a_75b1_4cf6_8aa7_0084ff08693d"></a><a id="Tc_MZJ9f2s4I0yLhMkg-EA-Qg_1_2"></a><a id="Tc__fEwTT-eUUWIQf7GfdfIqQ_1_7"></a><a id="Tc_CE3rVW7TfESotd9pEJON9g_2_0"></a><a id="Tc_3EVwMfZrK0GYdRE-GRlT1g_2_2"></a><a id="Tc_kvyqgsrpf0uITcuDJuG5Dw_2_5"></a><a id="Tc_3h-zLG1uc0q8JwQoIynPYQ_2_7"></a><a id="Tc_L3Xryfx_m0SFPcGbDnJbtA_2_10"></a><a id="Tc_te6Zkml5EECz8890_WKAhg_3_0"></a><a id="Tc_N9xg_osi102DnOTnS7Yxdg_3_2"></a><a id="Tc_Ts5Z6pxO20ud_yxTVCundQ_3_6"></a><a id="Tc_ntqLjVDH4EemPuNX2k_TaQ_3_7"></a><a id="Tc_W1ZlMQcXFku2_nzkPQoDbg_3_11"></a><a id="Tc_os8HfN8rnECs9d44ixhZeg_4_0"></a><a id="Tc_yMgdxk13D0qeQ1o0WOjZiA_4_2"></a><a id="Tc_x-V4QVdm00KbLJzCr8e26Q_4_6"></a><a id="Tc_XyMlpDfKcU2hGJojx2HVSw_4_7"></a><a id="Tc_QJDIcog1Q0yE4qMESEkpIg_4_8"></a><a id="Tc_hDy6k63hlESQPbO9yMoPtQ_4_10"></a><a id="Tc_RVSUi-H_W0K8U7QtIcC6iA_4_11"></a><a id="Tc_4U3QS8gmDESvq1AcSWuFQw_5_0"></a><a id="Tc_QgV58s7Ack-BtkyqZFK1tQ_5_2"></a><a id="Tc_fZX4-2Z6-kuaoz9Mkdn6iw_5_3"></a><a id="Tc_aeo31y5YLk-UvqN8b9kI5g_5_5"></a><a id="Tc_YnPyeFABEUyZhDQniDO7SQ_5_6"></a><a id="Tc_wut-ldk-LE2TDXD0Oo3_Kw_5_7"></a><a id="Tc_ZP960Yuvm0O3ULDZc8FNRw_5_11"></a><a id="Tc_68qq0g1GokiAP08EPnE9RA_6_0"></a><a id="Tc_sqka1k_3AEKc76xBmUvw2w_6_2"></a><a id="Tc_Y3AVeSqbpEe_0QV33Qkebw_6_6"></a><a id="Tc_TVYbsVqt2kSaUmr1H3zLzw_6_7"></a><a id="Tc_yWgEPybVOkmuE7Sb30G85g_6_11"></a><a id="Tc_iGKYwpm4d0K6CYGopvGv2Q_7_0"></a><a id="Tc_fEv5-WcexkWg4WbGdkJq2Q_7_2"></a><a id="Tc_-uO8ZSR1BUCOCA3WgfrsoA_7_6"></a><a id="Tc_KYHSLLRFqEiQpCOKZBkTSg_7_7"></a><a id="Tc_cgNR-1YdhUGewaCHwJooAw_7_11"></a><a id="_9f73b437_3e83_4c8a_b227_732f19922154"></a><a id="Tc_xkmEGYaS20W3wmOaHUkTgw_1_5"></a><a id="Tc_OpaMxJ3wOUGwSnp9eSxH1g_2_0"></a><a id="Tc_6hbSrKw8f0i8alnQD-NEpw_2_2"></a><a id="Tc_MprvLTbJRUObm8CnaCbwSg_2_5"></a><a id="Tc_609R3SpNBUWMdLiys7ROtQ_2_8"></a><a id="Tc_jWlyWrwfg02ZYAr_yElAEg_3_0"></a><a id="Tc_huu8ciIh7U-ajRR_zssR1A_3_2"></a><a id="Tc_oZ1rA8cAQ0CXRGOveFVtWA_3_5"></a><a id="Tc_sHl2cHKHZEeiyNZPNJy4sw_3_8"></a><a id="Tc_H7zlEbrLgUy293AonsskKA_4_0"></a><a id="Tc_f1kkXOqGWEuMkaxNTY0dAw_4_2"></a><a id="Tc_NHKdXu9ITUCJfivSK49G_g_4_5"></a><a id="Tc_Lv2c4gkX8kezW2Fe1d85Fg_4_8"></a><a id="Tc_t28NxJCeMkiXSj3qspf8Mg_1_0"></a><a id="Tc_8V0s_lVMy022X5xTKPZQtg_1_2"></a><a id="Tc_yOPu5-VBQEiNgbnECoVSuA_1_5"></a><a id="Tc_2wfbwB53zEuzWpzFhGjdGQ_1_8"></a><a id="Tc_e90GG1k8nk6U51O2JLgsZw_2_0"></a><a id="Tc_0zknSvyE7E-H5WOQeQpCrw_2_2"></a><a id="Tc_1y2cM-AqbEalF1Hn8y_KLg_2_5"></a><a id="Tc_IXEOXmfeekSVLUerhthcig_2_8"></a><a id="Tc_YAsUrIuc6ECbDJJJeTUSoA_3_0"></a><a id="Tc_UOJjZRIx6UishoAPPyYLhw_3_2"></a><a id="Tc_Q6NN5CDmYkeLLlu_UEEBBQ_3_5"></a><a id="Tc_Q67OCqXbHEu_NV20YBfT2Q_3_8"></a><ix:continuation id="Tb_UuJFsCo74kmLRgyljlpZlQ_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Revenue is recognized over-time or at a point-in-time given the terms and conditions of the related contracts. The Company utilizes an inputs methodology based on estimated labor hours to measure performance progress. This model best depicts the transfer of control to the customer. The Company&#8217;s contract portfolio is comprised of fixed-price contracts and provide for product type sales only. The following table presents net sales on a disaggregated basis by market and contract type:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Tb_gVGfefn8BUC1V4M268PsOQ" 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;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:62.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;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;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.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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.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;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.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;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.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;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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net Sales by market</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Defense</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended March 31, 2024</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_DefenseMember_tROc3SA-IkWKxvjAYkJbmQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_6Nx7T848zU2ND-npFoaXVQ_2_3">31,405,569</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_IndustrialMember_0g0nyb43gUepG6bI-XquHQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_f-2LS1pTxkOYvGAejSs91Q_2_6">185,490</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_4poChp_bR0qy_0cQpA77pw_2_9">31,591,059</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_DefenseMember_audOhR0YkUO6hZHQWRJ4jg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_XEw6QZKxD0CNVHmEIxsDWw_3_3">30,935,138</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_IndustrialMember_qZFlhmoLwEOrI9L1pVJVCg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_oL3a0KDvJkSpmHXLzrWIpg_3_6">496,476</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_EtOn16nBPE-u48sJ9IdIgw_3_9">31,431,614</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.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;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;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.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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.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;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.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;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.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;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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net Sales by contract type</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Over-time</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Point-in-time</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended March 31, 2024</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;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_Ds0WxFAebEKqid7xvKze9w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_oZGs_ntMs0-vZFsn86dWZA_2_3">30,412,981</ix:nonFraction></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;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_Vr3ivxaCik-leVjXGyttfA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_qmEbMDMhTEiN7AajobkO6A_2_6">1,178,078</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_qqqaHx8FCk2qoHyoD_C5XQ_2_9">31,591,059</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_glnFIRTD8ke9W2RZqlUQzQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_jZ8KKoHwwkGHM-m-Z68K0g_3_3">29,785,799</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_kN-u57DMnEqYjglReZGvTg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_DfZDsM7gykuG6GgwxFz0Ew_3_6">1,645,815</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_clHohsgD4ECccjARr1cS3A_3_9">31,431,614</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of March&#160;31, 2024, the Company had $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="6" id="Narr_Ag-2iYw-pES_dYUd69Z5kQ">50.0</ix:nonFraction> million of remaining performance obligations, of which $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="tpcs:RevenueRemainingPerformanceObligationCompletedLessThan50" scale="6" id="Narr_t9bGxGb9J0OjN6ETYdJbIg">41.4</ix:nonFraction> million was less than <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" scale="-2" id="Narr_qZdMBvzowE21UeoWuEI-RQ">50</ix:nonFraction>% complete. The Company expects to recognize all its remaining performance obligations as revenue within the next <span style="-sec-ix-hidden:Hidden_nj5CQYlOek-k-FS5J1V5jQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">thirty-six&#160;months</span></span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We are dependent each&#160;year on a small number of customers who generate a significant portion of our business, and these customers change from&#160;year to&#160;year. The following table sets forth revenues from customers who accounted for more than 10% of our net sales for the fiscal&#160;years ended March 31:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesMember_y1voELxO9E6LF4V-MnTg_g" name="us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" id="Tb_PDxCwVXAzkqT163ZDyaLOg" 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;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:58.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td 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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td 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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_0TGJ8IGS30CWlm1TZji57g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_8l4iRvNu7EySjnqrfecXbw_3_3">9,050,470</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_0TGJ8IGS30CWlm1TZji57g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_Rr_kwaCIoUKWfklXOt2HYg_3_5">29</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_00k-HqOGNkm7kXRZGjmtmA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_BG2RGzneikqd4fmU-gKhLQ_3_8">6,352,394</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_00k-HqOGNkm7kXRZGjmtmA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_lzzP6jcS_UuBuZCeOKgrqg_3_10">20</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_xIdjh1dJLk-EPZgMDiEAqg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_IWghtWAiWU6ou1LkzOSMaw_4_3">3,257,616</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_xIdjh1dJLk-EPZgMDiEAqg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_jUJsbhPvwEC3G83GZJyp-g_4_5">10</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> *</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> *</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PJ0bhQsORkSbBtj4mqu7Kw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_Oxq89B-SUUaawuyr63Dntw_5_8">4,779,592</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PJ0bhQsORkSbBtj4mqu7Kw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_DGQOO5VHE0uyyEd30z9MoQ_5_10">15</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Je6N5JauTEOqr_IqF0wdSA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_Pyw7RzYlxU6pxFYzsQzyJw_6_3">3,830,958</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Je6N5JauTEOqr_IqF0wdSA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_iHt8a1HYHE-CMBzrMVrOoQ_6_5">12</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_xC9kH_PJq0Wtw982OUBTsA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_Ud6LFDGCZkeXM6UcaO3EqA_6_8">3,248,773</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_xC9kH_PJq0Wtw982OUBTsA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_35ZMZdKwKk6H7AJw9vpouw_6_10">10</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerEMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uP606bRYkkub5jLrY-xnJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_Va073eV3lUyanOS-arWcsw_7_3">3,319,827</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerEMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uP606bRYkkub5jLrY-xnJA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_cdGESorrEEuvmWyag4B7ZQ_7_5">10</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerEMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_izISuy5nsEiM9rLtOkG8Dw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_LvnDeVeotEi-Wf8j0O3okQ_7_8">5,838,734</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerEMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_izISuy5nsEiM9rLtOkG8Dw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_4I5JaVljVka1TzPvSkIaew_7_10">19</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</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:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">*</i><i style="font-style:italic;">Less than 10% of total</i></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In our consolidated balance sheet, contract assets and contract liabilities are reported in a net position on a contract-by-contract basis at the end of each reporting period. Contract assets consist of the following at:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="Group_Z8VgYw4WgEGgaBP_K2kExg" continuedAt="Group_Z8VgYw4WgEGgaBP_K2kExg_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;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:62.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Progress</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contract assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unbilled</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Payments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_us-gaap_UnbilledRevenuesMember_Fcoijz2byEizbxH9nZ5ghw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="0" id="Tc_CAmvGMYTYk2v8VUlSCyvKw_3_3">19,254,512</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_tpcs_AdjustmentsProgressPaymentsReceivableMember_kg0OVmMjbUiOBWlpGq9MAw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" sign="-" scale="0" id="Tc_Zq4IpRUNpkeU0oBWCY9W2A_3_6">10,727,786</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="0" id="Tc_VtlsTtf0Tk-1yyTDfmC0HA_3_9">8,526,726</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_us-gaap_UnbilledRevenuesMember_0wQ1Fp0cEkyycL5dp_-0MA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="0" id="Tc_pKg64V93v0W__dovpfBrUg_4_3">19,485,914</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_tpcs_AdjustmentsProgressPaymentsReceivableMember_nrxGXOsDv0Ge9iuYTJTuZA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" sign="-" scale="0" id="Tc_gVThY5zxmUeq5NIdo_YjYw_4_6">10,538,103</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="0" id="Tc_9whJYDs8_0Ww9DuGvOsQKA_4_9">8,947,811</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="font-weight:normal;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In fiscal 2024 and 2023, we recognized revenue of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="Narr_eMZYs9kqkk6EUkUzY3-i-g">1.2</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="Narr_q-sxLnEsU0aAojuRDhCo2Q">1.8</ix:nonFraction> million related to our contract liabilities at April&#160;1, 2023 and 2022, respectively. Contract liabilities consist of the following at:</p><ix:continuation id="Group_Z8VgYw4WgEGgaBP_K2kExg_2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size: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:62.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contract liabilities</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;text-align:center;margin:0pt 0pt 0.05pt 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.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Deferred&#160;revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer&#160;Deposits</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2024</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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_DeferredRevenueMember_LqoJEvKRgkeRNhPkPBauJQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" id="Tc_1C8X4OlaJUiFsqaEhVaaZw_2_3">2,103,567</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_CustomerDepositsMember_JtZioAHsbkmZFpKoYd5NBQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" id="Tc_bvY-9_wGDkyT_tWFc7URMQ_2_6">1,684,366</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" id="Tc_JaOw934MvkS47SNrHBFEgw_2_9">3,787,933</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_DeferredRevenueMember_jBM3VZtLtkyZBaYlU_K8pA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" id="Tc__h-g8fr7UEmH9LCorDrYDA_3_3">1,195,298</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_CustomerDepositsMember_gUGV-KTY0EeR6bQzjn0s2g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" id="Tc_hyf9GFEr7UmaD6IL4qEu-g_3_6">1,138,293</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" id="Tc_eMD2j0gsm0i1lxRTb0MUEQ_3_9">2,333,591</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:continuation></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_hrCZ1hHBUkOZO-xh-g_EJw_1_2"></a><a id="Tc_SgbH_YgaEUOVhb9nyD07Wg_1_5"></a><a id="Tc_XQ--3uH0YE6N0UbCwtdLBw_2_0"></a><a id="Tc_KKecIvsUW06vCf_taus6XA_2_2"></a><a id="Tc_u5PNzPavQkuXWztOLkbyvg_2_5"></a><a id="Tc_5O69bbL7zkaqeR8qJvqcxw_3_0"></a><a id="Tc_ZuZfIbnVakmSoPZjWVIG5g_4_0"></a><a id="Tc_9iRE-0Jkd0aD25YHTopDgw_4_2"></a><a id="Tc_xC01wVwnjEmg9HKFmXD7Xw_4_5"></a><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:IncomeTaxDisclosureTextBlock" id="Tb_7XSwVQMYeUWarIRFLgQiXA" continuedAt="Tb_7XSwVQMYeUWarIRFLgQiXA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;5&#160;&#8211; INCOME TAXES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We account for income taxes under ASC 740, <i style="font-style:italic;">Income Taxes</i>. The following table reflects income and loss from continuing operations by location, and the provision for income taxes for the applicable fiscal&#160;years ended March&#160;31:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" id="Tb_A3h4OSSI306JeV_LKRnb-w" 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;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:70%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Loss before income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="0" id="Tc_Z1dz5o-RzEibaJCOA8VeuQ_2_3">5,109,945</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="0" id="Tc_yaHmZlrpeE-MZSE6PFvmFw_2_6">783,422</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" id="Tc_pZENY15lIUCIMsspcxTgSg_3_3">1,932,227</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" id="Tc_Ma8l9Qez10CR3tpsJldwEA_3_6">195,584</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" sign="-" scale="0" id="Tc_qWl-GkFvYkiBMRH9_NrRIQ_4_3">7,042,172</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" sign="-" scale="0" id="Tc_4Mvx_VqvWUqWcCWPCbdVAA_4_6">979,006</ix:nonFraction>)</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></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;text-align:center;margin:24pt 0pt 0pt 0pt;">50</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="Tc_AtcWJDJRFE2jJZt3XiAYhg_1_2"></a><a id="Tc_xf9tb2pXoUyeowXb0gFPzA_1_5"></a><a id="Tc_WWhB1iMj3EaLy7LjFjPYYw_2_0"></a><a id="Tc_WnxrSQW7r0KRGlKkKyfkig_3_0"></a><a id="Tc_wKySyYqweU6z6Q6WVRHubQ_3_2"></a><a id="Tc_DGTKYstUcUqzJ9GEaXWTqQ_3_3"></a><a id="Tc_VSel3q1Z6EGf_PX19c-dHg_3_5"></a><a id="Tc_58q_bBnpC0G_6o1gzN4LoA_3_6"></a><a id="Tc_-VrJ9yG6oU6mqm79s2s3YQ_4_0"></a><a id="Tc_bgFeqNfcIkS8JPRXhMP7Xg_4_6"></a><a id="Tc_bCrx9oRm70qwDnhVXJmqhw_5_0"></a><a id="Tc_eluM1LaTs02cwvVr0UUdOw_5_2"></a><a id="Tc_FPnRZeVQcUuuUzW0e40GQA_5_5"></a><a id="Tc_KS9zh4umTkCg28WjTKruxw_5_6"></a><a id="Tc_Sy9cgT3D70iX9v0d-bR9Zw_6_0"></a><a id="Tc_bUnMAW0Cv0OK9X41pa5hiQ_7_0"></a><a id="Tc_9ORUjoLYgU29mYe7sXgdZw_7_2"></a><a id="Tc_kpVtMS7Ae0CGq0_jagfZEw_7_5"></a><a id="Tc_57VJcVD3oUCoyM2IUgx9ow_8_0"></a><a id="Tc_w6U1ypn2Skig7P1hHhdpTw_9_0"></a><a id="Tc__NtkPRsz-kOFiupizdmSOA_9_2"></a><a id="Tc_c0ARlo8rMEmF5C-yOQhtUw_9_5"></a><a id="Tc_GukrQ6jyH0e8wl0I3EdmTw_10_0"></a><a id="Tc_vF0rlkCca0G6qz06CZ6WIQ_10_2"></a><a id="Tc_99tI09uxtEmyGOlkOrNVUw_10_5"></a><a id="_b7465cc4_15f1_4230_8571_6e9cb4eeea2d"></a><a id="Tc_gQtS_hn1DUuFsJGPDEawRw_1_2"></a><a id="Tc_6Ra9akpD-0WxglkW6uboUw_1_5"></a><a id="Tc_cKSXZyYprkWI5PbzkdnJDQ_2_0"></a><a id="Tc_Z7LA3nRS_kygyK--9iTToA_2_2"></a><a id="Tc_dcuoUjwAiEu-Z0Q1ofQ6hw_2_5"></a><a id="Tc_EE8E_QIJsUGURiPM3Qkqqg_3_0"></a><a id="Tc_sktMLZzLl0iwGrWt16Y_Rg_4_0"></a><a id="Tc_OJP00iKKt0Wmaly6GrBWIA_4_3"></a><a id="Tc_phyqEgEvqEOlCo7UDjPh1A_5_0"></a><a id="Tc_H3hbYzBJfkKrKJJPFt7AUw_5_3"></a><a id="Tc_9dAcqwMrFEisGbx36RCDzg_6_0"></a><a id="Tc_AVZ8kvN990y6LzPpttmhMw_7_0"></a><a id="Tc_Ago5Pqe5F0Gn2HQHNy73FA_7_3"></a><a id="Tc_fZYljbcbH0yn82jrIUBG9Q_8_0"></a><a id="Tc_xHJ59T-KIUihcP11VU-UEg_9_0"></a><a id="Tc__IODL1WgcEmc5XeIQMRqxg_9_2"></a><a id="Tc_m8YBosvFjE-NOk4tI8MeJg_9_5"></a><a id="Tc_gZAo6DzfXE28KhOUf7oTaQ_10_0"></a><a id="Tc_8LfdwsNc6E6Jn0EhdB2jeQ_10_4"></a><a id="Tc_vAiE1v_hR0aPWXfSSoVKCg_10_7"></a><a id="Tc_nSGzLFYjq0GbJoLorseYsw_1_2"></a><a id="Tc_XUhBI7gIVkKE20Xs2zou4g_1_5"></a><a id="Tc_fInQqLlWZUWjojST0wAETA_2_0"></a><a id="Tc_yKL4LCQU9Uevb0L2mQdoug_3_0"></a><a id="Tc_5P8JQYAof0q5XsG2rNt01A_3_2"></a><a id="Tc_qxhGmATmc0e_MBjas66nOA_3_5"></a><a id="Tc_P0LAFvxnQkSEng4z8o2Htw_4_0"></a><a id="Tc_bQjE64t-aUSMO3pv6s3xMg_5_0"></a><a id="Tc_i4njkr9T2UWlPPgU7J6mXQ_6_0"></a><a id="Tc_waKJ09ed0kyKf7shpJq3Ng_7_0"></a><a id="Tc_zo4rXISGK0Sx5UQT6qJ16Q_8_0"></a><a id="Tc_ooSUTUrptEa2xiB4EScOBw_9_0"></a><a id="Tc_uA3uE80uU0avEAv2lLxcbQ_10_0"></a><a id="Tc_niIHVpReMU2OSuBZWBnh0w_11_0"></a><a id="Tc_U-_1iDen90mESuIR-X7Hag_12_0"></a><a id="Tc_TtLo_2xq9EK3iKyszMj-DA_13_0"></a><a id="Tc_4qP6stALVkSGIvlV0NXexg_14_0"></a><a id="Tc_xTYGkdM9EU25gxkB879zgw_15_0"></a><a id="Tc_oY7odspreEWs7DLIan3dIQ_16_0"></a><a id="Tc_88-WjziHmEuYtFnq-_50Bw_16_2"></a><a id="Tc_NSI_q8SQ8ESv1OdddB6_xg_16_3"></a><a id="Tc_76WxLdSugUmO5Ebdl6JKRg_16_5"></a><ix:continuation id="Tb_7XSwVQMYeUWarIRFLgQiXA_cont1" continuedAt="Tb_7XSwVQMYeUWarIRFLgQiXA_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The components of the income tax provision consist of the following for the fiscal years ended March 31:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="Tb_o9NE1WYtA0uhfDX3HmsoHA" 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;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:70%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="0" id="Tc_-ON9VH1ZMUaxJ8O1MinrmQ_4_3">1,041</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total Current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="0" id="Tc_l1DvK6DKkESWQxM8v2jBJw_5_3">1,041</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="0" id="Tc_mZn_Sql7bEqBR-ZTOdtvxg_7_3">2,087,627</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" sign="-" scale="0" id="Tc_ouDG2ViSl0GrLmgkN05K8Q_7_6">261,372</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" sign="-" scale="0" id="Tc_44bf5L6f2Emn9cuib6Ajjg_8_3">156,441</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="0" id="Tc_qHKuJETL5Ey-DR8KEtmc_A_8_6">456,956</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total Deferred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="0" id="Tc_YUJgvxtnzkukh7kSGa3Mgw_9_3">1,931,186</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="0" id="Tc_IPqBtiQhUUeJsegWxiVLJQ_9_6">195,584</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income tax expense (benefit) </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" id="Tc_ezfI1D_y8E2-dsgU7FvOrw_10_3">1,932,227</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" id="Tc_tnoFzkngFU2zzksb84tRcw_10_6">195,584</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our fiscal 2024 and 2023 taxes were measured at the U.S. statutory income tax rate of <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="Narr_x983QdG9W0GcOFva6EyRNg"><ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="Narr_B3i9h8-lYEOJOWBbwnJ-QQ">21</ix:nonFraction></ix:nonFraction>%. A reconciliation between income taxes computed at the U.S. federal statutory rate to the actual tax expense for income taxes reported in the Consolidated Statements of Operations follows for fiscal years ended March 31:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Tb_Zg0a6OR2ik26pGfcKlAyzg" 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;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:70.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 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.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">U.S. statutory income tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" sign="-" scale="0" id="Tc_QgKmO9sBqk2I__z_7fEfsQ_2_3">1,073,088</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" sign="-" scale="0" id="Tc_6W0j75xL00K0y8KKLA9EbQ_2_6">164,519</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">State income tax, net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" sign="-" scale="0" id="Tc_PkDR_OMxRkmXAor5n9M5OQ_3_3">164,433</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" sign="-" scale="0" id="Tc_BYNqcNvBv0WverTLg24d1A_3_6">151,878</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Nondeductible items related to business combination and dissolved foreign entity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:NondeductibleItemsRelatedToDissolvedForeignEntity" scale="0" id="Tc_QZKsd9UCIEihqKqFYmn2hw_4_6">65,482</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Change in state NOLs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate" scale="0" id="Tc_Q_daxtYZ2UujDyZX4JlZ0g_5_6">239,622</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="0" id="Tc_oOqs2xZUTE28QQEUjrMxLA_6_3">3,141,588</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="0" id="Tc_G7wFmYPD90CwhW1K4MfF3w_6_6">216,485</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" sign="-" scale="0" id="Tc_EFHEsNYTzku8vhwV9D8_eA_7_6">20,983</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" scale="0" id="Tc_Pdh-J-VbFEiNXA4q2DAWnA_8_3">28,160</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" scale="0" id="Tc_eGYsSFlRqkebW0ajGnTvbQ_8_6">11,375</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" id="Tc_IdW1e_Zf20iAhzY1Ll_3jw_9_3">1,932,227</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" id="Tc_0tTZ2vILrkCi_dYoy9nCdA_9_6">195,584</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effective tax rate*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_NqnJpZfZMEm9irJS2t8OEg_10_3">37.8</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_x0pY8QJEzUyFLqLWl7mNXQ_10_6">25.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</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:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Effective tax rate is calculated by dividing the income tax provision by loss before income taxes.</i></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table summarizes the components of deferred income tax assets and liabilities at March 31:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="Tb_fFW5QNMEEUm4W014-6NIsA" 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;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net operating loss carryforward</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="0" id="Tc_YCeutR1tmE-0IvNia2ZuLA_3_3">6,302,402</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="0" id="Tc_QlBRrCCumECC9SNnhgvttA_3_6">5,839,915</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" scale="0" id="Tc_9d6z8mKbAEiq4v84-D14uA_4_3">142,232</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" scale="0" id="Tc_jnddMONZhUa9FiqD2yd4zA_4_6">213,308</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock based compensation awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" scale="0" id="Tc_8ZtPvDUzF0-ds2OwJ5oMYQ_5_3">7,525</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" scale="0" id="Tc_JgeDEFglc028j4p8wJNvaw_5_6">242,579</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="tpcs:DeferredTaxAssetsOperatingLeases" scale="0" id="Tc_6rsUNpvgdEiWb0GDPs-R2A_6_3">1,195,891</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:zerodash" name="tpcs:DeferredTaxAssetsOperatingLeases" scale="0" id="Tc_XnTp5CW14kaIVfkHAEkYFw_6_6">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other items not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" scale="0" id="Tc_Zg2DMJ99_kGk5JlfzHliWA_7_3">536,664</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" scale="0" id="Tc_tIx6FmqY6EaXy13IcNDlZA_7_6">126,792</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="0" id="Tc_qVteG1abIkuORRMtWrQHjQ_8_3">8,184,714</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="0" id="Tc_yOnw6f7wrUuUTl3hBAMHwg_8_6">6,422,594</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="0" id="Tc_prUgoWjhVkSQlPcmQA_q6Q_9_3">5,311,680</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="0" id="Tc_TcItPyPeEkyI1RTtH_Je0w_9_6">2,170,094</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="0" id="Tc_wGXKLpCFPk2QfdNuf_G5Qg_10_3">2,873,034</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="0" id="Tc_TnHJYspxrU-use21XQMI5g_10_6">4,252,500</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="0" id="Tc_Uihp0-YwW0CUMgTdDJ-hmg_12_3">1,562,744</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="0" id="Tc_W54zrHgLb0-_F128BOQF6A_12_6">1,971,644</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesLeasingArrangements" scale="0" id="Tc__ZFlYYmkDU6N4E47iCQDvw_13_3">1,157,079</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:zerodash" name="us-gaap:DeferredTaxLiabilitiesLeasingArrangements" scale="0" id="Tc_v7KEc6VN1U6stZtt_LQwkQ_13_6">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract accounting methods </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="tpcs:DeferredTaxLiabilitiesContractAccountingMethods" scale="0" id="Tc_93agwiDODk-OCTHfjDbnsQ_14_3">153,211</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="tpcs:DeferredTaxLiabilitiesContractAccountingMethods" scale="0" id="Tc_3HErJEScu0OQfdeUU5PZjg_14_6">349,670</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="0" id="Tc_Ds-0aqE9606ui3y-n_Bjig_15_3">2,873,034</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="0" id="Tc_57WRZpWTLkqeABIZ4igvnA_15_6">2,321,314</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred taxes, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="0" id="Tc_MQAtua7Vikeq5ht95o8Dxg_16_6">1,931,186</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">At December 31, 2023, the Company identified a need to increase the tax valuation allowance based on cumulative operating losses in recent years. Following an evaluation, we determined, however, that the required adjustments, recorded in the fourth quarter, were not material for the period ended December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In assessing the recoverability of deferred tax assets, we consider whether it is more likely than not that some portion or all of the deferred tax assets will not be realized. We have determined that it is more likely than not that certain future tax benefits may not be </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;text-align:center;margin:24pt 0pt 0pt 0pt;">51</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_7XSwVQMYeUWarIRFLgQiXA_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">realized. The assessment was based on the weight of negative evidence at the balance sheet date, our recent operating losses and unsettled circumstances that, if unfavorably resolved, would adversely affect future operations and profit levels. Accordingly, a valuation allowance has been recorded against deferred tax assets that are unlikely to be realized. Realization of deferred tax assets will depend on the generation of sufficient taxable income in the appropriate jurisdictions, the reversal of deferred tax liabilities, tax planning strategies and other factors prior to the expiration date of the carryforwards. A change in the estimates used to make this determination could require an increase or a reduction the valuation allowance currently recorded against those deferred tax assets. The valuation allowance on deferred tax assets was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="6" id="Narr_ZIKxsDitREKv27B20w3mSg">5.3</ix:nonFraction> million at March 31, 2024. We believe that it is more likely than not that the benefit from certain NOL carryforwards and other deferred tax assets will not be realized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">At March 31, 2024 we had federal net operating losses of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_fTIbHl3lkUG7SFR86q33WA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLossCarryforwards" scale="6" id="Narr_6bGZgtpEZk-e-qIqOHFdZg">19.3</ix:nonFraction> million which begin to expire in 2026. The Internal Revenue Code provides for a limitation on the annual use of net operating loss carryforwards following certain ownership changes that could limit our ability to utilize these carryforwards on a yearly basis. Also, U.S. tax laws may limit the time during which these loss carryforwards may be applied against future taxes. As such, certain pre-2021 Stadco net operating loss carryforwards available for TechPrecision&#8217;s consolidated tax group may be limited. Our remaining pre-2021 net operating losses total approximately $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_TaxPeriodAxis_tpcs_TaxYearsPriorToTwoThousandTwentyOneMember_WS4dITeCLUeInRmG36DepA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLossCarryforwards" scale="6" id="Narr_PGbz-vkjwEiW0X2-DoxFmw">9.9</ix:nonFraction> million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We have not accrued any penalties with respect to uncertain tax positions. We file income tax returns in the U.S. federal jurisdiction and various U.S. state jurisdictions. Tax years 2021 and forward remain open for examination.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:EarningsPerShareTextBlock" id="Tb_yNfy4bA_6EKw80fIoEI6UA" continuedAt="Tb_yNfy4bA_6EKw80fIoEI6UA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;6&#160;&#8211; CAPITAL STOCK and EARNINGS PER SHARE</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Reverse Stock Split</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On February 23, 2023, the Company effected a <span style="-sec-ix-hidden:Hidden_lpmwKBw8EUC6iReXMuMNUQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span>-for-four reverse stock split of its common stock, which was effective for trading purposes as of the commencement of trading on February 24, 2023. The reverse stock split was approved by the Company&#8217;s stockholders on September 14, 2022, at the Company&#8217;s regular annual meeting of stockholders, with authorization to determine the final ratio having been granted to the Company&#8217;s Board of Directors. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">All share and per-share amounts have been affected retroactively for all years presented in our financial statements and notes thereto.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The reverse stock split was primarily intended to prepare for the potential listing of the Company&#8217;s common stock on the Nasdaq Capital Market. The Company simultaneously affected a reduction in the number of authorized shares of common stock from <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_2_22_2023_zOuuptjsrEmFOzM90fL_Nw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_EEWFasz68UOV7j601VPs1g">90,000,000</ix:nonFraction> to <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_2_23_2023_fOoRGPoiakKzIRUmcjh2Cw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_qKMz_Cgjpka-NUAZCc0IRQ">50,000,000</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Common Stock</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We had <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_l7RRPKzMi0embvPkp_mo3g"><ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_yRLp0Y31XEuh3uAjKGMDYA">50,000,000</ix:nonFraction></ix:nonFraction> authorized shares of common stock at March&#160;31, 2024 and 2023, respectively.&#160;There were <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_lkRCGDqaYkOkKlzOAeSXOQ">8,777,432</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_xHEnWJlckEe5CyxkdCfv1w">8,613,408</ix:nonFraction> shares of common stock outstanding at March&#160;31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Preferred Stock</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_PL8DTmWBhEm7vR_6nb_FAw">10,000,000</ix:nonFraction> authorized shares of preferred stock and our board of directors has broad power to create <ix:nonFraction unitRef="Unit_Standard_series_LPcGhCXu80q9Nan6hqJcuQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" format="ixt-sec:numwordsen" name="tpcs:NumberOfSeriesOfPreferredStockShares" scale="0" id="Narr_ccWeLW3bOEG5jiHq_2I72g">one</ix:nonFraction> or more series of preferred stock and to designate the rights, preferences, privileges, and limitations of the holders of such series. There were <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="Narr_plTxkXzNB0ygbejSKaRSOg"><ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="Narr_HBCjE_U3X0mXU8eweDZX2A">no</ix:nonFraction></ix:nonFraction> shares of preferred stock outstanding at March&#160;31, 2024 and 2023.</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;text-align:center;margin:24pt 0pt 0pt 0pt;">52</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_pZBZ-zYyqUyzB36_FpbiLA_1_2"></a><a id="Tc_6wdulnp_DU2Ov98D4YLn8w_1_5"></a><a id="Tc_h706vmSLhUus_m0jyogm5g_2_2"></a><a id="Tc_YarRp771pkyrhZdpvuTUgg_2_5"></a><a id="Tc_HW-Rp8Ceo06cyGIrCw2xFw_3_0"></a><a id="Tc_NJUL8JzIBkO_gF3omuLpIw_4_0"></a><a id="Tc_5F6WpwuR4EeE8K6ZVc6LhA_4_2"></a><a id="Tc_LiVOPk_pC0O1kcI4JG91qg_4_5"></a><a id="Tc_Ol6vfbpit0iR_CRB_FPKMw_5_0"></a><a id="Tc_nIW3bQOvD0KSPZiInwI7mg_6_0"></a><a id="Tc_rmfxiaC8kkuJGsyuqWw1ug_6_2"></a><a id="Tc_DjWaVIDGTEycQ5W_6tte9w_6_5"></a><a id="Tc_sr775bWImESBiQQCcFqk6w_7_0"></a><a id="Tc_kQ23xm6_1UaeV_1eiajPKw_8_0"></a><a id="Tc_WYdjw6u-gk-rB_crM2lXIQ_8_2"></a><a id="Tc_-nDKcsIlMU-ygPB56Y5KuA_8_5"></a><a id="Tc_d_l_tQisbkKu0yLRZfOtfQ_9_0"></a><a id="Tc_D2_RxhY1bkC1i33XNo1fFA_9_3"></a><a id="Tc_bgF-mirxhkqDmGmZ6JeTrw_9_6"></a><a id="Tc_zD5iPO_AO0WB4zFlP9oERA_10_0"></a><a id="Tc_9pZ16PAGgEegfzLCu8ViOQ_11_0"></a><a id="Tc_Iq4bEvZ_iUSpADO_4IWbIQ_11_2"></a><a id="Tc_RSXgce5L-kaLM11PbPrD0w_11_5"></a><ix:continuation id="Tb_yNfy4bA_6EKw80fIoEI6UA_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Earnings per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">All earnings per share amounts included in this annual report on Form 10-K are presented as if the one-for-four reverse stock split had been effective April 1, 2022. Basic EPS is computed by dividing reported earnings available to stockholders by the weighted average shares outstanding. Diluted EPS also includes the effect of stock options that would be dilutive. The following table provides a reconciliation of the numerators and denominators reflected in the basic and diluted earnings per share computations, as required under FASB ASC 260.</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Tb_z1btrjDb5E6z7E3sqR2KEw" 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;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:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Basic EPS</i></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" sign="-" scale="0" id="Tc_PJK54dEAKEuUqS2Q9OV2mw_4_3">7,042,172</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" sign="-" scale="0" id="Tc_ENMRPQC4kEOP5V2fhOtH7Q_4_6">979,006</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_54oaF-yp_UGOnjw4mi4RjA_5_3">8,717,160</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_UxYyatkV2kCR156mlt6dng_5_6">8,595,992</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss per share</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" sign="-" scale="0" id="Tc_MMueAtrF006q6734W-eTiA_6_3">0.81</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" sign="-" scale="0" id="Tc_lqKhRJ67UkOXn4QKpeWvGA_6_6">0.11</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Diluted EPS</i></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" sign="-" scale="0" id="Tc_GbHW6OEC2Ui4yfu3uCcDgA_8_3">7,042,172</ix:nonFraction>)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" sign="-" scale="0" id="Tc_-npkFn0pukWqkHStjyoFKQ_8_6">979,006</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dilutive effect of stock options</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_TbmxAqtIXkq7lBWgJIg40g_10_3">8,717,160</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_u2axrLdhVEeqyr8jTvDOXw_10_6">8,595,992</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss per share</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" sign="-" scale="0" id="Tc_zbJwwW7_BkqxbKmaVbdw1g_11_3">0.81</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" sign="-" scale="0" id="Tc_5rlRtBWMPEyU0GFMssf5Lg_11_6">0.11</ix:nonFraction>)</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:97.5pt;"></span><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">All potential common stock equivalents that have an anti-dilutive effect (i.e., those that increase income per share or decrease loss per share) are excluded from the calculation of diluted EPS due to net loss for both periods. For the fiscal years ended March 31, 2024, and 2023, there were potential anti-dilutive stock options and warrants of <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_L-FSWnPqUEKJF_VKbP9gjw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Narr_3Rz2pOesI02fqNPoXA5v0w">542,500</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_WarrantMember_Bo-QMGl8bkCWlsNe4w8hxg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Narr_aUfDgNuspEGF30vQrXncTA">25,000</ix:nonFraction>, and <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_-jI0UdwIhUKJPCFavF7MUg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Narr_HFO7pSebskiJ6PGideQgJw">680,000</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_WarrantMember_QDlxNL3ZxEKvS4qB1Fon1A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Narr_S8spaX3kA0eDC2Mr7qVy-w">25,000</ix:nonFraction>, respectively, none of which were included in the EPS calculations above.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Tb_MC8T2HwngkqZvzpCIu8E1A" continuedAt="Tb_MC8T2HwngkqZvzpCIu8E1A_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;7&#160;&#8211; STOCK-BASED COMPENSATION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our board of directors, upon the recommendation of the compensation committee of our board of directors, approved the 2016 TechPrecision Equity Incentive Plan, or the &#8220;2016 Plan&#8221;, on November 10, 2016. Our stockholders approved the 2016 Plan at the Company&#8217;s Annual Meeting of Stockholders on December 8, 2016. The 2016 Plan succeeds the 2006 Plan (as defined below) and applies to awards granted after the 2016 Plan&#8217;s adoption by the Company&#8217;s stockholders. We have designed the 2016 Plan to reflect our commitment to having best practices in both compensation and corporate governance. Following the February 2023 reverse stock split, the 2016 Plan now provides for a share reserve of <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_nrF9dOccm0iWbvsD_mdgwg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" scale="0" id="Narr_avHEK8yozEGz41M13HcSZw">1,250,000</ix:nonFraction> shares of common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The 2016 Plan authorizes the award of incentive and non-qualified stock options, restricted and unrestricted stock awards, restricted stock units, and performance awards to employees, directors, consultants, and other individuals who provide services to TechPrecision or its affiliates. The purpose of the 2016 Plan is to enable TechPrecision and its affiliated companies to recruit and retain highly qualified employees, directors, and consultants; and to provide those employees, directors, and consultants with an incentive for productivity, and an opportunity to share in the growth and value of the Company. Subject to adjustment as provided in the 2016 Plan, the maximum number of shares of common stock that may be issued with respect to awards under the 2016 Plan is <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_VqxuUHz_IEG-hpEWOambRQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="0" id="Narr_IyMjx5pabEGz2GYGGLzj9Q">1,250,000</ix:nonFraction> shares (inclusive of awards issued under the 2006 Long-Term Incentive Plan, or the &#8220;2006 Plan&#8221;, that remained outstanding as of the effective date of the 2016 Plan). Shares of our common stock subject to awards that expire unexercised or are otherwise forfeited shall again be available for awards under the 2016 Plan.</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;text-align:center;margin:24pt 0pt 0pt 0pt;">53</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_j1zNGsAa6kimwQ70kZvwZg_1_10"></a><a id="Tc_9tU9q9J0pkSmnOyWX52TCA_2_10"></a><a id="Tc_VoHA6ml0gU2jMw52EkCTfQ_3_4"></a><a id="Tc_muDzTxTPvUipCXGqmbJQgA_3_7"></a><a id="Tc_GtKBWnnbQkucB2TYFDGp-w_3_10"></a><a id="Tc_cJZd_e5UY0Kct9hmn_04Ow_4_2"></a><a id="Tc_KS20ANwDdkmrzG_8K9M7KA_4_4"></a><a id="Tc_ZNz68urzSUCBBVd5J1CLvg_4_7"></a><a id="Tc_BXXfVKBbDkuFqIkxWGC38Q_4_10"></a><a id="Tc_fvGtD3lCDUiuSiAVdp5Ibg_5_2"></a><a id="Tc_3oNffsmX4k61zVjlbu1gNw_5_4"></a><a id="Tc_5EnZaGBYOEaPA22Yd06RfQ_5_7"></a><a id="Tc_x_b0s7yU5U2SMSbWPeH2_Q_5_10"></a><a id="Tc_d4_-9b72pU-efkdC4xUbHg_6_0"></a><a id="Tc_eqEL0_GGJ0ecWcxwsDXcUw_6_4"></a><a id="Tc_rMHqo5eMeEGeHpq1FPMEyQ_6_7"></a><a id="Tc_zOIKMTA21EKkH_85VuJUQw_7_0"></a><a id="Tc_6msj_uQbVkixIlrPppxD9A_7_2"></a><a id="Tc_5W5R_QV8KkGWfujc2lV4PA_7_5"></a><a id="Tc_uzPB98nNCE2Lkj0oOJ30GA_7_8"></a><a id="Tc_E815IA_sSECxl3sqzrd84Q_7_10"></a><a id="Tc_g8m2Qj6xGkeAbGRxBu0Opw_8_0"></a><a id="Tc_wvFGGx2JOUWhZUDzGz_rdg_8_4"></a><a id="Tc_T-6Str0wqEetSW2oNU2Jmg_8_7"></a><a id="Tc_XU9WD_rFEk2TEL2koHOgUQ_9_0"></a><a id="Tc_wvYXdQO4REmNB2xwDuqMMg_9_4"></a><a id="Tc_HZBGuZUTR0W_qsNa5-xgvA_9_7"></a><a id="Tc_-b68N8HdikKUk0ZisNXOcQ_9_10"></a><a id="Tc_xf7GxWDerky1sCHRONXP0g_10_0"></a><a id="Tc__GcJMH5hQ0iZ1ABtDCGkQA_10_4"></a><a id="Tc_uz0kEKSWDEuC0CjQA2JUtQ_10_7"></a><a id="Tc_CJdLfrfX2kef96nCDghmEQ_11_0"></a><a id="Tc_zFIki_lFUkOnSHiI-sCSDQ_11_4"></a><a id="Tc_QEx1jcZHREqgj-paWRiK7A_11_7"></a><a id="Tc_-WShoEfdwUKHPG-RjVWmLA_12_0"></a><a id="Tc_du1EseCpuk2qVJkr5Ecz2g_12_4"></a><a id="Tc_RrS0_tMO70ChTytP-aP0mw_12_7"></a><a id="Tc_LXDWuLG730qayZbsyWwscQ_1_4"></a><a id="Tc_S9mKuM2u_kWGKLmzU2KX_g_2_4"></a><a id="Tc_DVCxh8Edu0eQefH1BQZbgA_3_4"></a><a id="Tc_Ox01WOQohE2Syl121tRD9Q_3_6"></a><a id="Tc_2ei4Fkl-yE6A1g5kAOA3hw_3_11"></a><a id="Tc_uke6JZU0rU28zVw9DoWoUg_4_2"></a><a id="Tc_kntB2vjrVkinhe1iH55_pw_4_4"></a><a id="Tc_DxFgTOzQvEu2xP9PQ_GqXQ_4_6"></a><a id="Tc_nOPYnvysJUqqb0Qo5fVw5g_4_9"></a><a id="Tc_DVnNBGlFiEyDh5a9VdQCKA_4_11"></a><a id="Tc_6jCT0lqwPE-uTNs3erLtCQ_5_0"></a><a id="Tc_4vo-Mf12x0CxTsYLoAiPOw_5_2"></a><a id="Tc_0JnVsJI6p06YtFA5ipAFjQ_5_4"></a><a id="Tc_EdTuIc-IpUuDRzdOxIhzVw_5_6"></a><a id="Tc_-Up0i6dKKkm31B6ndNxoOQ_5_9"></a><a id="Tc_wFGoa5fq1UeOZDmhPPnfYg_5_11"></a><a id="Tc_WlhF7GDtA0aB8VIIoHAd6Q_6_0"></a><a id="Tc_J3O1xeW0h0-MsqWBUThXcg_6_6"></a><a id="Tc_AUM9f_NbdE23csWOcdgqlQ_6_11"></a><a id="Tc_aO4zRrNVnk2tHKw7wHc78A_7_0"></a><a id="Tc_QkIBxmgZDUiI46DrNXv5NA_7_6"></a><a id="Tc_legQqBJLjUKLXCqvmbeg6Q_7_11"></a><a id="Tc_pcy_re-6mEKpoSR8t5WwNA_8_0"></a><ix:continuation id="Tb_MC8T2HwngkqZvzpCIu8E1A_cont1" continuedAt="Tb_MC8T2HwngkqZvzpCIu8E1A_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The fair value of the options we grant is estimated using the Black-Scholes option-pricing model based on the closing stock prices at the grant date and the weighted average assumptions specific to the underlying options. Expected volatility assumptions are based on the historical volatility of our common stock. The average dividend yield over the historical period for which volatility was computed is zero. The risk-free interest rate was selected based upon yields of <ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" format="ixt-sec:durwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="Narr_Jh3sB4NGuU-bWfRieaTWEg">five-year</ix:nonNumeric> U.S. Treasury issues. We used the simplified method for all grants to estimate the expected life of the option. We assume that stock options will be exercised evenly over the period from vesting until the awards expire. We account for award forfeitures as they occur. As such, the assumed period for each vesting tranche is computed separately and then averaged together to determine the expected term for the award. On March 31, 2024, there were <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_nrF9dOccm0iWbvsD_mdgwg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" scale="0" id="Narr_XIMHYl67AUyhxHzwnE9r6Q">257,500</ix:nonFraction> shares available for grant under the 2016 Plan. The following table summarizes information about options granted during the two most recently completed fiscal years:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="Tb_UGlt2gSOGkeweAM2Eip8Xg" 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;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:57.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;Of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual&#160;Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td 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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(in&#160;years)</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at March 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2022_URldAZsxQk-e2NkMeLkdSg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_0NobBZJcYEOIWymY9qNmbw_6_2">667,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_3_31_2022_URldAZsxQk-e2NkMeLkdSg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_2eqSXIfqL0CqQM-ZD0SFbQ_6_5">1.37</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2022_URldAZsxQk-e2NkMeLkdSg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_0NNc3vsBbUCiybFhrJBhJQ_6_8">3,597,700</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_4_1_2021_To_3_31_2022_yF3xLaISN0Opo5lCslgz5A" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_ICbliPjB5U2PkFfrSm6hKw_6_10"> 4.66</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Canceled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_36h2KhG-_EqRVSqbVC3SQw_8_2">667,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_oDbphdb860WozFSGratCfw_8_5">1.37</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_hVsZVoD3E0W7WvJMz6sUjw_8_8">3,804,625</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_wOLS6v99XEmoF36aJcnpWA_8_10"> 3.70</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="Tc_i_x1s5jziki3XVYHLit51g_9_2">125,000</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_eCWwbKoqBUmvs9RGkZVTFw_9_5">0.68</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="0" id="Tc_ZFGtAIS22U2EicNbBy2hZQ_9_8">846,250</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_hLeN59isskanfRSOuIS0Wg_10_2">542,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_l4whd_rLMk2SY1vMvd_AhQ_10_5">1.53</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_Lk_qBhZgnEKSwpoU2xcctg_10_8">1,128,825</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_LXCTrUyD5UmtvQEzz1Fjww_10_10"> 2.93</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested or expected to vest at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" id="Tc_PtAJ8vor9ESvPiZN9tIPFg_11_2">542,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_nDbXhrixsU69f4Ll-piCcA_11_5">1.53</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" scale="0" id="Tc_X3zzRmk-kE-G-AoUp_UiUQ_11_8">1,128,825</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Tc_kQ-W9y7AFE-PoekKmptOYg_11_10"> 2.93</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable and vested at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" id="Tc_dYs-C6o42kenYh3ZQg5zXg_12_2">542,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_jaTlVTM52EySu2TmijbXAg_12_5">1.53</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="0" id="Tc_aG70Zd5F2kenefrnpP-ANw_12_8">1,128,825</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_fd165dLqaEKV7qIPsQN3bA_12_10"> 2.93</ix:nonNumeric></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The aggregate intrinsic value in the table above represents the total pre-tax intrinsic value (the difference between the closing stock price and the exercise price multiplied by the number of in-the-money options on the measurement date) that would have been received by the option holders had all option holders exercised their options on March 31, 2024 and 2023. This amount changes based on the fair value of the Company&#8217;s common stock. At March 31, 2024, there was no remaining unrecognized compensation cost related to stock options. The maximum contractual term is ten years for option grants. Other information relating to stock options outstanding at March 31, 2024 is as follows:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" id="Tb_rjeUe_kRa0uCeWOFNCe7KQ" 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;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;white-space:nowrap;width:51.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 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:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Range of Exercise Prices:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Outstanding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Exercisable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_il9ZNg-NzUebzWjMTdVJSA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" scale="0" id="Narr_W-hO3USyuUWGZ10LgRYcoQ">0.01</ix:nonFraction>-$<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_il9ZNg-NzUebzWjMTdVJSA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" scale="0" id="Narr_YBMa7hKAtEOXFioVHJzxWA">0.99</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_eWKkRQYpMke4qRBOTN7OHQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" scale="0" id="Tc_IfSr3do2P0yOgBjmP3cmag_6_2">192,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_il9ZNg-NzUebzWjMTdVJSA" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" id="Tc_-af19ZtLNEGm74H9xJYQ-g_6_4"> 1.36</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_eWKkRQYpMke4qRBOTN7OHQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" scale="0" id="Tc_okoxlq7QxUiIWkrmaXz3Hg_6_7">0.32</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_eWKkRQYpMke4qRBOTN7OHQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" scale="0" id="Tc_zihmzVZw8EGHk5YVmWw69Q_6_9">192,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_eWKkRQYpMke4qRBOTN7OHQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" scale="0" id="Tc_6HdViyUYE0G8ge4wCXKEZQ_6_12">0.32</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_uacHwKDVKEaVBeA9L9nAWA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" scale="0" id="Narr_YRxkkdMsL0qqvNnlAPOFrw">2.00</ix:nonFraction>-$<ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_uacHwKDVKEaVBeA9L9nAWA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" scale="0" id="Narr_-xE8d3-MiUeqoOPme0I8LA">2.99</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_vlXSz1WzLEydeqkUckxJAw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" scale="0" id="Tc_WUlhak3IBECbbz4fwkboTA_7_2">350,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_uacHwKDVKEaVBeA9L9nAWA" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" id="Tc_t9GbEHLcC0WMO3AAPLJkqg_7_4"> 3.16</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_vlXSz1WzLEydeqkUckxJAw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" scale="0" id="Tc_JwHwLzOx4EyWxq5UcrlSEA_7_7">2.19</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_vlXSz1WzLEydeqkUckxJAw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" scale="0" id="Tc_7du61YERc0ucA_YLzYX1zw_7_9">350,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA" contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_vlXSz1WzLEydeqkUckxJAw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" scale="0" id="Tc_SHhFHnhx6EuEry-RWzQyzA_7_12">2.19</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" scale="0" id="Tc_hXzd5mI2bEuZGib7bBn7bg_8_2">542,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" scale="0" id="Tc_INzjyInnsUirT-Ule868RQ_8_9">542,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Common Stock Awards</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On September 15, 2022, we granted each non-employee director <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_9_15_2022_To_9_15_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementNonemployeeMember_gk7ScDZIWEeNmo0bAaWHSA" decimals="INF" format="ixt:numdotdecimal" name="tpcs:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual" scale="0" id="Narr_4IDIL1997kmmaUX6boSTJg">6,250</ix:nonFraction> shares of common stock for a total of <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_9_15_2022_To_9_15_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementNonemployeeMember_gk7ScDZIWEeNmo0bAaWHSA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Narr_IXbVAr108E2iijs5pJOLoA">25,000</ix:nonFraction> shares of common stock in the aggregate, of fully vested stock awards under the Plan in recognition of such directors&#8217; service and in lieu of the annual grant to purchase Company common stock previously approved by the Board as annual director compensation. The fair value of the award was $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_9_15_2022_To_9_15_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementNonemployeeMember_gk7ScDZIWEeNmo0bAaWHSA" decimals="0" format="ixt:numdotdecimal" name="tpcs:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue" scale="0" id="Narr_F4dzcd-QkkW_XIw_6VDJ2Q">144,000</ix:nonFraction> based on the closing market price of the Company&#8217;s common stock on the grant date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On January 2, 2024, we granted <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_1_2_2024_To_1_2_2024_srt_TitleOfIndividualAxis_tpcs_FormerChiefFinancialOfficerMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_98gr5MOvTUikgG0Cr5cnUQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" scale="0" id="Narr_lQ7A8WYz8Eu6lWZqL2WUAQ">15,000</ix:nonFraction> shares of the Company&#8217;s common stock pursuant to the 2016 Plan to the Company&#8217;s former CFO in connection with his consulting services agreement, which shares were fully vested on the grant date. The stock-based compensation expense of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_1_2_2024_To_1_2_2024_srt_TitleOfIndividualAxis_tpcs_FormerChiefFinancialOfficerMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_98gr5MOvTUikgG0Cr5cnUQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:StockIssuedForFinderFee" scale="0" id="Narr_OzOF04zpDk-s-8OaAxxB6g">79,500</ix:nonFraction> was measured at fair value on the date of grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Restricted Stock Awards</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our board authorizes the issuance of restricted stock as service-based awards measured at fair value on the date of grant based on the number of shares expected to vest and the quoted market price of the Company&#8217;s common stock. The shares of restricted stock fully vested and ceased to be subject to forfeiture one year from the grant date. Each grantee is required to have been serving as a director on the vesting date and must have been continuously serving in such capacity from the grant date through the vesting date for the shares of restricted stock to vest. Prior to the vesting date, the grantee is not permitted to sell, transfer, pledge, assign or otherwise encumber the </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;text-align:center;margin:24pt 0pt 0pt 0pt;">54</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><ix:continuation id="Tb_MC8T2HwngkqZvzpCIu8E1A_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">shares of restricted stock and if the grantee&#8217;s service with the Company has terminated prior to the vesting date, subject to certain exceptions, the grantee&#8217;s restricted stock is to have been forfeited automatically.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 3, 2023 the Company issued <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_8_3_2023_To_8_3_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_V5kWFx3sOE2qwR3-FNGbyw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_8KGsvCjRAE2s12DxapS2Lg">15,000</ix:nonFraction> shares of restricted common stock to the Company&#8217;s new CFO. Under the terms of the employment agreement, provided employment with the Company continues from the grant date through the applicable vesting dates, <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_8_3_2023_To_8_3_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_V5kWFx3sOE2qwR3-FNGbyw" decimals="INF" format="ixt:numdotdecimal" name="tpcs:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary" scale="0" id="Narr_xkVc_THYOUa96B9G-vKuCw">5,000</ix:nonFraction> shares of the restricted stock will vest on each of the first, second, and third anniversaries of the effective employment date of July 17, 2023. Fair value of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_8_3_2023_To_8_3_2023_Upw42tLjN0W25ixTgHbflQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" scale="0" id="Narr_huHIhSGaF0yoj2Eom07exw">110,700</ix:nonFraction> was measured on the date of grant based on the number of shares expected to vest and the quoted market price of the Company&#8217;s common stock. Stock-based compensation expense will be recognized ratably over the vesting period. Total recognized compensation cost related to this award for the fiscal year ended March 31, 2024 was $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_FlfjqNlVrUm4wnkyLcLQAQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:EmployeeBenefitsAndShareBasedCompensation" scale="0" id="Narr_tPOU1hznPEepND2nYexd7Q">27,675</ix:nonFraction>. On March 31, 2024, there was $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_F1K_h0_69E61to_LibFofA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="0" id="Narr_U4mUkG_KWEiMV7fJPtE8tA">83,025</ix:nonFraction> of remaining unrecognized compensation cost related to this award which is expected to be recognized over the next three years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On October 11, 2023, we granted a total of <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_10_11_2023_To_10_11_2023_us-gaap_AwardTypeAxis_tpcs_ServiceBasedRestrictedStockOneMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_PC5bcvUIMEmgn6tLs-agmw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_3sR_EmoBH0yPTUpASYLECA">25,000</ix:nonFraction> shares of restricted common stock under the 2016 Plan to the board of directors. The stock-based compensation expense of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_10_11_2023_To_10_11_2023_us-gaap_AwardTypeAxis_tpcs_ServiceBasedRestrictedStockTwoMember_1YoRNoIz6ki9OoASOoP0Xg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" id="Narr_L9RF0oyZaEivHjklPKd6YA">177,750</ix:nonFraction> was measured at fair value on the date of grant based on the number of shares expected to vest and the quoted market price of the Company&#8217;s common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Total recognized compensation cost related to restricted stock awards for the fiscal year ended March 31, 2024 and 2023 was $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_FlfjqNlVrUm4wnkyLcLQAQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="0" id="Narr_rv0oC2Yhm0-G702FZkZeXA">284,925</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_kC6wq9-J1ECe4fACbPlMoA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="0" id="Narr_LIe6razGJ0eEwLmLKSWx7g">109,079</ix:nonFraction>, respectively.</p></ix:continuation><a id="_a8b3c431_717a_4d3b_b42f_32e280575b7a"></a><a id="Tc_sk4VruMeQU2stAx_fCUvpw_1_2"></a><a id="Tc_Y6ULbgKJYk2s9Ewpm8jNXg_1_7"></a><a id="Tc_kgfKfkWEV0WoJm-dVU-5tA_2_0"></a><a id="Tc_wprhWk6E6ECsRYTs-2pKbw_2_2"></a><a id="Tc_qGBbhZSgHUGuGqJYADfjBw_2_5"></a><a id="Tc_efShg2Xl_k29uQMmqJC4Jw_2_7"></a><a id="Tc_p_2Mzya100CtilVfHViObA_2_10"></a><a id="Tc_U86XId1YP0KtPaNLddWEfQ_3_0"></a><a id="Tc_HoYeJLr_xkKvA4vtFgrZ9w_3_2"></a><a id="Tc_zNArsdCA3EmDnksLkEROwQ_3_6"></a><a id="Tc_b1LUR8N3tUaICq3qtpSpZg_3_7"></a><a id="Tc_7gQxgBgQhEadyiuS3Lez8A_3_11"></a><a id="Tc_k6bWoCmhoEShPC0-_wnn1w_4_0"></a><a id="Tc_akLD20jCbEahojhw9tPeog_4_2"></a><a id="Tc_EVMJce-TikyZKnIWysuPng_4_3"></a><a id="Tc_yZDMC9kB7keiiRuBUg7S0g_4_5"></a><a id="Tc_NrXll0XJ6k61dZDjMW1QQw_4_6"></a><a id="Tc_G81BNaY4ZEqs478G3KHGFA_4_7"></a><a id="Tc_JGfvG8yo6kCGqgoT9YnjqQ_4_11"></a><a id="Tc_uUmJURD-WEyLOE6XJJ1cGQ_5_0"></a><a id="Tc_VAK3BIjcPEKRMrNtXxq0RQ_5_2"></a><a id="Tc_ZH8v_2LtbEGoKOEzXSno9A_5_6"></a><a id="Tc_ddGWCG-Vq0KSFP9YuIMMsA_5_7"></a><a id="Tc_TY6zZCLCC0WZ5xB5lvIKBA_5_8"></a><a id="Tc_qkJGGnnomkSr-1C_6y9OtQ_5_10"></a><a id="Tc_hz1jEA-siEq7UcpZaqaYGg_5_11"></a><a id="_161ae6c3_0548_43ce_9498_78faf2d8a7b8"></a><a id="Tc_vxC5_Lct5UqlOmn-iP3k8A_6_0"></a><a id="Tc_QoZNNeQ5tk6K1eGIAGZKCg_6_2"></a><a id="Tc_oi2eZiMt0kaH-D-q6-Op3g_6_3"></a><a id="Tc_K5mvjb2pYEC5hl4DuEM-lA_6_5"></a><a id="Tc_gKSexU4oZESl8tEGdBvcKw_6_6"></a><a id="Tc_ootUMN3720m1LXNwDuI8bQ_6_7"></a><a id="Tc_WQqHeVNjcEafpXhdck6PFw_6_11"></a><a id="_9c065553_ddea_4c9b_af26_21883f412587"></a><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ConcentrationRiskDisclosureTextBlock" id="Tb_2z4T3BMUfE2ATOAFlBVWzg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;8&#160;- CONCENTRATION OF RISK</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We maintain bank account balances, which, at times, may exceed insured limits. We have not experienced any losses with these accounts and believe that we are not exposed to any significant credit risk on cash.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In the fiscal years ended March 31, 2024 and 2023, one supplier accounted for <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_OneSupplierMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_URroydbBJ0KABqNKk-sNtA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_kZgkvUvdWUuC0987lULfPg">20</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_OneSupplierMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_lviD3vpFlUShUb6_Sn4Zlw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_-r1-YzKc00GATkXS1mV8lA">34</ix:nonFraction>%, respectively, of our purchased material.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On&#160;March&#160;31, 2024, there were trade accounts receivable balances outstanding from <ix:nonFraction unitRef="Unit_Standard_customer_qy87DfQ4RU2d4SFN2Z-jqg" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_tpcs_TradeReceivablesMember_3l4iW77eqECfCDeek5BDrQ" decimals="INF" format="ixt-sec:numwordsen" name="tpcs:NumberOfSignificantCustomers" scale="0" id="Narr_FBlAUnysuEGTwk8G1ETWSw">two</ix:nonFraction> customers comprising <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerCDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_tpcs_TradeReceivablesMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Mcb6z5vrs06CxaUE_uhhog" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_RIhLD76HkkyX0f77o2TdhQ">58</ix:nonFraction>% of the total trade receivables balance. The following table sets forth information as to trade accounts receivable from customers who accounted for more than <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_Customers.Member_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Qcr25m_sT0aGOz1xeKKQAA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_M889fD3xEEmVr-SaSP8MXQ">10</ix:nonFraction>% of our accounts receivable balance as of:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_4DHc1wrauEC45VPNRB37KA" name="us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" id="Tb_AGlP_8eHDUmbhpe2aKyXVA" 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;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:59.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dollars</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dollars</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WtEE3Lfmw0669Jd4tzKldA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_86fEB0oswUmY5rt4RI51LA_3_3">940,279</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_UeSjHtEonkOo-21HCuMNxg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_g2XkxQrkfE-CxiRbLZqD1w_3_5">40</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_KhqefYGwyUu0tP1CK_F6nA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_pMOrSpeFMkyYwdSgQbaRqw_3_8">730,514</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_TJqd7Zd6xUGb_XnkoDgaig" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_o3ezaeWfW06FlKV1wkLE9Q_3_10">31</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rSr5Dkm_IkCHvsNvVco5ZA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_Bq56pGInHkCsQjqsFxHqUQ_4_8">260,177</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_x7QWNQp_u0iQ1pobcksUng" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_tkF71mg5RkaSAycPUWxqrg_4_10">11</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_c28_crNyV0u3HSQr3IOT7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_jFXYImG7SkuGt6GOCq-frQ_5_3">423,198</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_sacaZwh8Fk-KsQaNM0cSMw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_7xfal6iwJ0qBYlWjkVM9FA_5_5">18</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_a81L9kbSGke5OtcVLMPFLQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_tSw24oQ8iU-8EKuRekw17g_6_8">265,755</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Yk4MBFc9Z0yFWUKjUO6xKg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Tc_Y-TlJxaFb0iRI2ZgHzeYtg_6_10">11</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</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:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><i style="font-style:italic;font-weight:normal;">*</i><i style="font-style:italic;font-weight:normal;">less than 10% of total</i></p></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_523fad01_ec25_4285_9331_b2b1557abb92"></a><a id="Tc__ZM5CgZieka_DfJsefA1ww_1_0"></a><a id="Tc_SLNNfW-azEKI3E-OZ_UOaQ_1_2"></a><a id="Tc_0PDJ2i_BGkKJk-Gjqp1llw_1_5"></a><a id="Tc_aXrenG-mVEysfmIc5TkSWA_2_0"></a><a id="Tc_yFyVcIMc1UeUULk_gs5h-Q_2_2"></a><a id="Tc__X5SgzZK1kml4_dd7LMhxw_2_5"></a><a id="Tc_-noQhcGnwUWx53LzkHrzrw_3_0"></a><a id="Tc_GZoYNz1yG0Cqj6siXRuYvw_4_0"></a><a id="Tc_jm91j-Eo4kCJRIoPH2GhzQ_5_0"></a><a id="Tc_p02RadmcdEKCo2MDBWXccA_5_6"></a><a id="Tc_P_potjoMBki074vSDAZjPw_6_0"></a><a id="Tc_iZFdEbuWPEGsp4fXmIvYKQ_7_0"></a><a id="Tc_GIQsifvHlker216o6FE9CA_8_0"></a><a id="Tc_i8XPaPDwC0GWNPyMQirkDg_9_0"></a><a id="Tc_RKe9Ix6HQEeziPUlp8-lwg_9_2"></a><a id="Tc_-eZXlin310-2WVqaGiJu8A_9_5"></a><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:OtherCurrentAssetsTextBlock" id="Tb__JF53Ujvwk-_-PEnzLbBJA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;9&#160;- OTHER CURRENT ASSETS</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock" id="Tb_5A6ExpQtu0CktkmF0OILEw" 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;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:71.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Other current assets included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid insurance</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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PrepaidInsurance" scale="0" id="Tc_8qiBfH2MakemAN7scn-urw_2_3">336,578</ix:nonFraction></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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PrepaidInsurance" scale="0" id="Tc_pnr2jAaiGUWZLjSYG_a_8A_2_6">162,075</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid subscriptions</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="tpcs:PrepaidSubscriptions" scale="0" id="Tc_BKOiFD2-EUGgvpxAva4mxg_3_3">119,983</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="tpcs:PrepaidSubscriptions" scale="0" id="Tc_85Vpva7UE0K59RJ3FBT5qA_3_6">120,570</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid taxes</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PrepaidTaxes" scale="0" id="Tc_ByK6Ft1eqkOvLljQSSo-Mw_4_3">27,266</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PrepaidTaxes" scale="0" id="Tc_MHwjOa2C-kOUKyJICBZTEg_4_6">9,616</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Supplier advances</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Supplies" scale="0" id="Tc_KR2BMmWNxk2go2f0Km32XQ_5_3">26,142</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deposits</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="tpcs:DepositsCurrent" scale="0" id="Tc_7GVF8FGPqUGITYABBLY5Eg_6_3">19,800</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="tpcs:DepositsCurrent" scale="0" id="Tc_mvxnUv9uVE-dOEKBfCww1w_6_6">21,706</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee advances</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="tpcs:AdvancesToEmployee" scale="0" id="Tc_P-QCtGEHUUKpyXgR2x88xQ_7_3">16,978</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="tpcs:AdvancesToEmployee" scale="0" id="Tc_PiO9FaqMc0GIvbZI8vjA-w_7_6">4,561</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid advisory fees, other</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="tpcs:PrepaidAdvisoryFeesOther" scale="0" id="Tc_W601x4_znUa8jUCfrYMqYA_8_3">16,941</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="tpcs:PrepaidAdvisoryFeesOther" scale="0" id="Tc_hf9rtUSdQU-CNyLsXcxwRw_8_6">30,455</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsCurrent" scale="0" id="Tc_o_aCSByHuE236OWUZHGgfw_9_3">563,688</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsCurrent" scale="0" id="Tc_Nq6SvrBcb0e4DUz18P8tgg_9_6">348,983</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="font-size:1pt;font-weight:normal;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;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;text-align:center;margin:24pt 0pt 0pt 0pt;">55</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_OFZKH_hRE0a3F2T2u6zXRg_1_0"></a><a id="Tc_gDpJQ4byrE-YiHditSXlWQ_1_2"></a><a id="Tc_R16NMo5qI02CmTYR0szblQ_1_5"></a><a id="Tc_SECw62d3KUq2soJNll_Rdg_2_0"></a><a id="Tc_LDklCB5-vkKstcWNnCI2zA_2_2"></a><a id="Tc_wjjWWv6k60Oppoc-z-PqXw_2_5"></a><a id="Tc_s-blclw4n021ypzH2NSDcQ_3_0"></a><a id="Tc_V9weNEML1USJrV-K5LhuZQ_4_0"></a><a id="Tc_nzFIxZtLHUaTQctXHVCB3A_5_0"></a><a id="Tc_TqsbqMEM6UaanwxFwow2bQ_6_0"></a><a id="Tc_JTGgkgIDEUOD0anHu36EGA_7_0"></a><a id="Tc_T98rAkbzs0iGQdxgj-gi0Q_8_0"></a><a id="Tc_RYtyUT7O8UKkmWn8D-IacA_8_2"></a><a id="Tc_Q9UQYNcgrkWFbbFNTt68HQ_8_5"></a><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="Tb_i3lOVYwlZUOaUAvJClIXhA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;10&#160;- PROPERTY, PLANT AND EQUIPMENT, NET</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="Tb_ZPBbAiAfQ0GinYMWmMrX-w" 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;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:71.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;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;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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Property, plant and equipment, net consisted of the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_bVeDoYFYVE6cxdhinAQnYQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_-7u6txRy10GMYI1fzzIlTg_2_3">110,113</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_1WWV6R1yK0iNbAN-XwJXpw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_EpNzYTJdeUSMWGS5aSBNFA_2_6">110,113</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Building and improvements</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingAndBuildingImprovementsMember_5Wh1kMcApkqbyUKKJccXRw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_X9rERL1Mfk2pVOacvf27PA_3_3">3,293,986</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingAndBuildingImprovementsMember_mnLFLT7xbE-ytNI0oEpz0A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_HLhWFMPi0kSy82hO6ar0kg_3_6">3,293,986</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery equipment, furniture, and fixtures</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_tpcs_MachineryEquipmentFurnitureAndFixturesMember_efnnvJhAa0SnB_tz3Sr9Qg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_mu0LKeWNbUSLgwSM4C4PYw_4_3">25,590,644</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_tpcs_MachineryEquipmentFurnitureAndFixturesMember_RdDoHphKdUes7plMtyhJpQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_1ZGWRVntE0GFgWld7LDkMA_4_6">23,018,713</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction-in-progress</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_-6IpxO5NeEqi5_FiaFqV7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_-uARC2Alx0-LVaLaNoA2dw_5_3">148,606</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_odwAiUw1M0OAUW38FVX_zg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_ontwWLy8Jk-dfG18K1TXNg_5_6">149,576</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant, and equipment</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="0" id="Tc_yw8pZhjhnUCzbIc5RHlr-A_6_3">29,143,349</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="0" id="Tc_WyLxSef-dUW4a3AhOeoVSA_6_6">26,572,388</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" scale="0" id="Tc_m1O_D1J2DEe4AFenbzJkFA_7_3">14,345,358</ix:nonFraction>)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" scale="0" id="Tc_xW_bRxp9ZEaR4cX-6E5o-g_7_6">12,658,364</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant and equipment, net</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="0" id="Tc_6s-rQCq72UehKn2hFAtfUg_8_3">14,797,991</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="0" id="Tc_jwmISuzV0kStsKZ7dYxz-A_8_6">13,914,024</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In fiscal 2024 and 2023, we recorded depreciation expense of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSoldDepreciation" scale="0" id="Narr_IBiQxeuruke3-TyFz9GMTA">1,746,103</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSoldDepreciation" scale="0" id="Narr_4xoKuv2sh02f2-bbcfC7kQ">1,557,910</ix:nonFraction>, respectively, in our cost of goods sold. We also recorded machinery and equipment disposals with a book value of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_rV9pn5-y6U-wJPjmHb6Pqg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentDisposals" scale="0" id="Narr_3Cq3RosSZ0KocnSuxqVsCg">22,815</ix:nonFraction>. We also received $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="tpcs:ProceedsFromFixedAssetsInsuranceSettlement" scale="0" id="Narr_kGGcFV01sEmG1ONfK79EIQ">61,944</ix:nonFraction> of proceeds from an insurance settlement related to certain fixed asset disposals abandoned by theft at our Stadco plant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We capitalize interest on borrowings during active construction period for major capital projects. Capitalized interest is added to the cost of the underlying assets and is amortized over the useful lives of the assets. Capitalized interest for the years ended March 31, 2024 and 2023 were $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestCostsCapitalized" scale="0" id="Narr_kdcxRd-eyUKFQE8tNlGJ4A">18,642</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestCostsCapitalized" scale="0" id="Narr_YVvN8I1v7UG51JDzrnODrw">14,297</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In September 2023, the Company signed an agreement to make additional equipment upgrades for a certain customer. We recognize new purchases as a fixed asset and billings for reimbursement from the customer as a contra-asset. Future depreciation of the asset will be offset directly by the amortization of the contra-asset on a net basis in the statement of operations. The amortization period will match the schedule of depreciation set forth under the fixed asset ledger.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="Tc_0w1rVeRJZ0WlCoNlG-9pCw_1_0"></a><a id="Tc_CRdysiIU106Z1jeXkYcYsQ_1_2"></a><a id="Tc_0GVrSRfyK0OHmVV2sMxokQ_1_5"></a><a id="Tc_zXDqkNW7qEWkndExqW2OgQ_2_0"></a><a id="Tc_IYs44wl73kewGrbCVfP0Ew_2_2"></a><a id="Tc_97GQeQu5a0CyCkp2U1D8Ug_2_5"></a><a id="Tc_0ggG8MgZvkSz8Jo0BCcDDQ_3_0"></a><a id="Tc_QIbUxJs9kka8ZPJjs5t6yg_4_0"></a><a id="Tc__te6wbpWSUi509p9WWibwA_5_0"></a><a id="Tc_OQNHPQvVMkm5oQPlIsHx-w_6_0"></a><a id="Tc_44pLVNO0bkGTxnN3ZSgCWQ_7_0"></a><a id="Tc_X4b8xCPUO0e-vqqBKCd-jw_7_6"></a><a id="Tc_ECS7YPcQ4k6dcqcv8TuJIA_8_0"></a><a id="Tc_F8-Uml0LfECvG0K-5HDlZA_9_0"></a><a id="Tc_RaXD0JRP8kibLsGe657CHg_9_2"></a><a id="Tc_uz6Q8ecR00-JH07t5qxeQA_9_5"></a><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" id="Tb_-Bu134Ndnkq3xiEU9blEMg" continuedAt="Tb_-Bu134Ndnkq3xiEU9blEMg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;11&#160;- ACCRUED EXPENSES</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="Tb_LPX-aHbsSU24pdW-ub--ww" 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;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Accrued expenses included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued compensation</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="0" id="Tc_g0JWQK8EQkOqtBmULUJcFw_2_3">1,172,262</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="0" id="Tc_veLIdupOGUWa-4Ck1wz2jw_2_6">1,257,245</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for claims </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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LossContingencyAccrualAtCarryingValue" scale="0" id="Tc_mlCWFKlgtUKkyNO5sewc1Q_3_3">516,972</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LossContingencyAccrualAtCarryingValue" scale="0" id="Tc_AJf_cP_k90-dEc9lkUoTLg_3_6">256,227</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for contract losses</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProvisionForLossOnContracts" scale="0" id="Tc_cYRRP0CAEUuOdrdoZD_SRw_4_3">293,324</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProvisionForLossOnContracts" scale="0" id="Tc_EEoIELSDzEu4p2EG9ouT1w_4_6">102,954</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued professional fees</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccruedProfessionalFeesCurrent" scale="0" id="Tc_eoqKdAOGT0SEaAlZmAlGkA_5_3">458,636</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccruedProfessionalFeesCurrent" scale="0" id="Tc_9nHgHhfjrk6bIKZ5i2LqDA_5_6">241,195</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued project costs</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="tpcs:AccruedProjectCosts" scale="0" id="Tc_k0vogMTAQkWIiltJ5HfD3Q_6_3">560,428</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="tpcs:AccruedProjectCosts" scale="0" id="Tc_v9ekxllDAU63qh_tlDNnHA_6_6">440,550</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued breakup fee</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="tpcs:AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" scale="0" id="Tc_zemvi10z0ECb8Gw0K6KiMg_7_3">1,116,800</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="0" id="Tc_8rkskbw2TUmXn5uHmG_nqg_8_3">144,064</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="0" id="Tc_CD7ukjPHjUmK0eEjJ9rIkA_8_6">235,014</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="0" id="Tc_McEohU8RDkmaOf0Dx6nX5Q_9_3">4,262,486</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="0" id="Tc_Z1IioIETT0K1aCfCPcljkw_9_6">2,533,185</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Accrued compensation includes amounts for executive bonuses, payroll and vacation and holiday pay. Provisions for estimated losses on uncompleted contracts are made in the period in which such losses are determined. Changes in the provision are recorded in cost of sales. Accrued project costs are estimates for certain project expenses during the reporting period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Due to a change in certain conditions and events, it became probable that on March 31, 2024, the Company would not be able to close on the acquisition of Votaw Technologies (see Note 17 - <i style="font-style:italic;">Subsequent Events</i>), pursuant to a Stock Purchase Agreement. As such, the Company accrued $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="tpcs:AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" scale="6" id="Narr_ogPZBdry8E6WTyOQWI5I3w">1.1</ix:nonFraction> million on March 31, 2024, for the stock termination fee as set forth under the terms and conditions of the agreement.</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;text-align:center;margin:24pt 0pt 0pt 0pt;">56</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_-Bu134Ndnkq3xiEU9blEMg_cont1"></ix:continuation><a id="Tc_F11c0oEv3k-o6WXeZUO1Yw_1_0"></a><a id="Tc_AJpmzrpBj0m97Hq-oIchLg_1_2"></a><a id="Tc_7dGeR_UkDEOhC2sAQBl6oA_1_5"></a><a id="Tc_5NZcowhtqkevUgew34kbJA_2_0"></a><a id="Tc_WkBeVhxQGkOea2nOUZD1iQ_2_2"></a><a id="Tc_4GYUKF6enkyJW5q2CBHZuQ_2_5"></a><a id="Tc_07LQ7yZDkEa0ecxPZAZFVQ_3_0"></a><a id="Tc_rVqUFaho4UOQzuai9Y1d2A_4_0"></a><a id="Tc_zhNIgtlIYEqvrPJdzX8Agw_5_0"></a><a id="Tc_WpC2KMiYhk-F4UU06ZHYFg_5_2"></a><a id="Tc_N9OjLTO1_k2kyPIaDtcCeA_5_5"></a><a id="Tc_Yw7w7RIgQkG3_vbXY8LBeA_6_0"></a><a id="Tc_qqqF8rwlI0ikQMy7S7ZwLw_6_2"></a><a id="Tc_7eKDMCYLCUuL7tI882fHOg_6_5"></a><a id="Tc_h60p6QXYckiCEiqB5QdQVQ_7_0"></a><a id="Tc_MXpsmMjKsEehM4zJHCp3Gw_7_2"></a><a id="Tc_9aIgcQmwoES_x431g5bedQ_7_5"></a><a id="Tc_7Mu4Rl7Qn0SOGXtfTC2lbw_8_0"></a><a id="Tc_R2NtnVlF6UOn3SwW_x0CEw_8_2"></a><a id="Tc_lBG7PFfvgEubc2m4vjuazg_8_5"></a><a id="Tc_eCyn2ut5MEqhXNUvv_f7jA_9_0"></a><a id="Tc_AZOQ11QyHkK5iJlUavC0Xg_9_2"></a><a id="Tc_utNlc8jULkul1AnU9uBubA_9_3"></a><a id="Tc_a3ZBVfubMkCnZO_eXzp0LA_9_5"></a><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:DebtDisclosureTextBlock" id="Tb_hRJ-xUQ_MESVbE6q45J87g" continuedAt="Tb_hRJ-xUQ_MESVbE6q45J87g_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;12&#160;&#8211; DEBT</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ScheduleOfDebtTableTextBlock" id="Tb_KKP0FTZENEmRqppY2-LnXA" 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;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:71.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Long-term debt included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stadco Term Loan, at <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_gIzQS_7GpE-BJjoDlDacvw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_LWMXxsQjrU6auxblmedOhQ">3.79</ix:nonFraction>% interest, due August 2028</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_gIzQS_7GpE-BJjoDlDacvw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="0" id="Tc_iAVucJa3fEmQzHZaKHnaJQ_2_3">2,647,275</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_h_M5GE4zBkuYC8t444o79Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="0" id="Tc_w49jPnoS-ECacmtIHEXhXg_2_6">3,186,495</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ranor Term Loan, at <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_hji5VqUs80GnpI8KTwQykg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_bD8m3MXbmkGIblAq3xuhiw">6.05</ix:nonFraction>% interest, due December 2027</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_hji5VqUs80GnpI8KTwQykg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="0" id="Tc_yPNRZXSEfUuLcb2hN4nkSg_3_3">2,215,643</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_FDE5OMg5CEiIOt61hbcQ4g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="0" id="Tc_02tNXWkRFkuHzL_XWi3lfA_3_6">2,276,518</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ranor Revolver Loan, at <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_hAeUcvCIy02zbi158M-6FQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_eUZM0vZEe0qlajvi9Mk37Q">7.69</ix:nonFraction>% interest, due August 2024</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_hAeUcvCIy02zbi158M-6FQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="0" id="Tc_NYFp6JIwgkCWEQdy2IYQpw_4_3">2,785,000</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_dv9T9a4wSEOrdkoVn2z2rw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="0" id="Tc_yS3wkxSuwkmUVaxQ1u6LDQ_4_6">650,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total debt</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="0" id="Tc_Bq_5W85Lu0WZ17zBZld-bQ_5_3">7,647,918</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="0" id="Tc_bxsSJwx6okK8sXPrH9iXIg_5_6">6,113,013</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: debt issue costs unamortized</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsNet" scale="0" id="Tc_Lth5iIKXrUWMFkHuaR-69A_6_3">89,235</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsNet" scale="0" id="Tc_B1FA1qyJOkq3Eaz3hF1lWw_6_6">145,712</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total debt, net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" scale="0" id="Tc_e9QGKyfPYEiSt8zBuyfDuA_7_3">7,558,683</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" scale="0" id="Tc_E4qGpOWUnkiklFizLWk9hw_7_6">5,967,301</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: Current portion of long-term debt</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="0" id="Tc_rOk8ImXWgE2ldD0A7SJn1Q_8_3">7,558,683</ix:nonFraction></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="0" id="Tc_DGAmBhRZpEOlcECJ-fmEDQ_8_6">1,218,162</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total long-term debt, net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" scale="0" id="Tc_zQAvgHbrkky0ziDCy05RTg_9_6">4,749,139</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Amended and Restated Loan Agreement</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">On August 25, 2021, the Company entered into an amended and restated loan agreement with Berkshire Bank, or the &#8220;Loan Agreement&#8221;. Under the Loan Agreement, Berkshire Bank will continue to provide the Ranor Term Loan (as defined below) and the revolving line of credit, or the Revolver Loan. In addition, Berkshire Bank provided the Stadco Term Loan (as defined below) in the original amount of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_8_25_2021_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_h2UA2XL7JUi6lW0-TOJQVQ" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="6" id="Narr_g4eXnYcTZEivdUzqlnYdiQ">4.0</ix:nonFraction> million. The proceeds of the original Ranor Term Loan of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_8_25_2021_To_8_25_2021_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_esWUXI2fN0WMKMhDbCxOyQ" decimals="-4" format="ixt:numdotdecimal" name="tpcs:ProceedsFromTermLoan" scale="6" id="Narr_1pV31NIth0iWZTnNj-Xx9w">2.85</ix:nonFraction> million were previously used to refinance existing mortgage debt of Ranor. The proceeds of the Revolver Loan are used for working capital and general corporate purposes of the Company. The proceeds of the Stadco Term Loan were to be used to support the acquisition of Stadco and refinance existing indebtedness of Stadco.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Stadco Term Loan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 25, 2021, Stadco borrowed $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_ccSScFM26keuwqvg7uPkJA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="6" id="Narr_Utjpve8BTEepZrjX0qhUvA">4.0</ix:nonFraction>&#160;million from Berkshire Bank, or the &#8220;Stadco Term Loan&#8221;. Interest on the Stadco Term Loan is due on unpaid balances at a fixed rate per annum equal to the&#160;<ix:nonNumeric contextRef="Duration_8_25_2021_To_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_bf0Rjfw5KEGgs6KMDBRIBA" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_W72FkVUYsU2Er5Mo_xipnA">7-year</ix:nonNumeric>&#160;Federal Home Loan Bank of Boston Classic <span style="-sec-ix-hidden:Hidden_H1Ocu3HIa0-swMnW6HtfhQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Advance</span></span> Rate plus&#160;<ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_8_25_2021_To_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_bf0Rjfw5KEGgs6KMDBRIBA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Narr_AhB15w7ePEC5cym6qzZAAQ">2.25</ix:nonFraction>%. Since September 25, 2021 and on the 25th day of each month thereafter, Stadco had made and will make monthly payments of principal and interest in the amount of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_8_25_2021_To_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_bf0Rjfw5KEGgs6KMDBRIBA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentPeriodicPayment" scale="0" id="Narr_afSu28SNbES-73cDNrVOCA">54,390</ix:nonFraction>&#160;each, with all outstanding principal and accrued interest due and payable on August 25, 2028. Interest shall be calculated based on actual days elapsed and a 360-day year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company shall pay a late charge in the amount of&#160;<ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanMember_1g62SHgvQ0ia8IfOe-kTnA" decimals="0" format="ixt:numdotdecimal" name="tpcs:LateChargeFeePercentage" scale="0" id="Narr_MMRAgQjAZUy0Ylg0y5T5Hw">5</ix:nonFraction>% of each payment due under the Stadco Term Loan (other than the balloon payment due at maturity) which is more than ten days in arrears. In addition, from and after the date on which the Stadco Term Loan becomes due, or at Berkshire Bank&#8217;s option, could become due and payable (whether accelerated or not), at maturity, upon default or otherwise, interest shall accrue and shall be immediately due and payable at the default rate equal to&#160;<ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="tpcs:DefaultInterestRate" scale="0" id="Narr_IVxnOGa370ePv0HaKGE2zQ">5</ix:nonFraction>% per annum greater than the interest rate otherwise in effect, but in no event higher than the maximum interest rate permitted by law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Unamortized debt issue costs on March 31, 2024 and 2023 were $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_fY2wuCp72k-Cyw1M2FUPaA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:UnamortizedDebtIssuanceExpense" scale="0" id="Narr_RLXQBLtjCEO1JgTkIbp4dA">30,007</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_xHaQYaNjC0GLjsokTPYnkA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:UnamortizedDebtIssuanceExpense" scale="0" id="Narr_0Uz8D75w-kmD9_2jaihYBA">44,482</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Ranor Term Loan and Revolver Loan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">A term loan was made to Ranor by Berkshire Bank in 2016 in the amount of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_12_21_2016_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_CreditFacilityAxis_us-gaap_SecuredDebtMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_Pn7GfNxkZ0y_xFocEEH01g" decimals="-4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="6" id="Narr_OL91isi1DEiCmUzJJ-kFaQ">2.85</ix:nonFraction> million, or the &#8220;Ranor Term Loan&#8221;. Payments began on January 20, 2017, and were made in monthly installments of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_12_1_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_SecuredDebtMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_X1gOs8rlB0yesCbZpq1Xgg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentPeriodicPayment" scale="0" id="Narr_TIyBxiZybUC-padCgSmoFw">19,260</ix:nonFraction> each, inclusive of interest at a fixed rate of <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_SecuredDebtMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_UsVIoeDDOUqJO4J02OUofQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_A0G3SRfVOU-gjViyDJlkag">5.21</ix:nonFraction>% per annum, with all outstanding principal and accrued interest due and payable on the original maturity date, December 20, 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Since December 20, 2021, Ranor and certain affiliates of the Company entered into four separate amendments to the Amended and Restated Loan Agreement and First Amendment to Promissory Note to extend the maturity date of the Ranor Term Loan from December 20, 2021 to December 15, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On December 23, 2022, Ranor and certain affiliates of the Company entered into a Fifth Amendment to Amended and Restated Loan Agreement, Fifth Amendment to Promissory Note and First Amendment to Second Amended and Restated Promissory Note, or the &#8220;Amendment&#8221;. Effective as of December 20, 2022, the Amendment, among other things (i) extended the maturity date of the Ranor Term Loan to December 15, 2027, (ii) extended the maturity date of the Revolver Loan from December 20, 2022 to December 20, 2023, (iii) increases the interest rate on the Ranor Term Loan from <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_12_23_2022_srt_RangeAxis_srt_MinimumMember_eQdQ3zQXGUSfJ_EhrwhU4Q" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_PxmD3H-Y70Kognoaw2H0qg">5.21</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_12_23_2022_srt_RangeAxis_srt_MaximumMember_kE-WtCWnPkqoReTNzpG4KA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_7NgqGR8askerq98nCY-HKQ">6.05</ix:nonFraction>% per annum, (iv) decreases the monthly payment on the Ranor Term Loan from $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_12_23_2022_To_12_23_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_9eNpjcrprkex2xe5xboRjg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentPeriodicPayment" scale="0" id="Narr_4SK1KJMdYUe2EXickYNtsg">19,260</ix:nonFraction> to $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_12_23_2022_To_12_23_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_JXKyuTgSX0uDOS5RnkzekA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentPeriodicPayment" scale="0" id="Narr_RecANgRFWk2HuRXdjfcD7A">16,601</ix:nonFraction>, (v) replaces LIBOR as an option for the benchmark interest rate for the Revolver Loan with SOFR, (vi) replaces LIBOR-based interest pricing conventions with SOFR-based pricing conventions, including benchmark replacement provisions, and (vii) solely with respect to the fiscal quarter ending December 31, 2022, lowers the debt service coverage ratio from at least <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_12_30_2022_To_12_30_2022_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_pXM7qosKWkutrCSrnwF8VQ" decimals="1" format="ixt:numdotdecimal" name="tpcs:RequiredMinimumDebtServiceCoverageRatio" scale="0" id="Narr_Nvdj9n5TnUOhUKUiRydggA">1.2</ix:nonFraction> to 1.0 to <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_10_1_2022_To_12_31_2022_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_8GhnJhMNr0uIkvx1siuK7A" decimals="1" format="ixt:numdotdecimal" name="tpcs:RequiredMinimumDebtServiceCoverageRatio" scale="0" id="Narr_wHQK3uXABEWAl2aVxdql0A">1.1</ix:nonFraction> to 1.0.</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;text-align:center;margin:24pt 0pt 0pt 0pt;">57</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_hRJ-xUQ_MESVbE6q45J87g_cont1" continuedAt="Tb_hRJ-xUQ_MESVbE6q45J87g_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On December 20, 2023, Ranor and certain affiliates of the Company entered into a Sixth Amendment to Amended and Restated Loan Agreement and Second Amendment to Second Amended and Restated Promissory Note, or the &#8220;Sixth Amendment&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Effective December 20, 2023, the Sixth Amendment, among other things (i) extended the maturity date of the Revolver Loan from December 20, 2023 to March 20, 2024; (ii) limited the use of proceeds from the Revolver Loan by the Company or its affiliates to $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_g1USBG1K9kmpZiRkVT0X-Q" decimals="0" format="ixt:numdotdecimal" name="tpcs:ProceedsFromTermLoan" scale="0" id="Narr_AIz72-yWF0eKFzbQ8nFlGQ">1,000,000</ix:nonFraction> in the aggregate for due diligence and related professional costs incurred on or prior to March 20, 2024 in connection with any acquisitions; and (iii) makes certain changes to the amount and methods of valuation of equipment securing repayment of the borrowed funds.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On March 20, 2024, Ranor and certain affiliates of the Company entered into a Seventh Amendment to Amended and Restated Loan Agreement and Third Amendment to Second Amended and Restated Promissory Note, or the &#8220;Seventh Amendment&#8221;. Effective March&#160;20, 2024, the Seventh Amendment, among other things (i) extended the maturity date of the Revolver Loan from March 20, 2024 to May 20, 2024; (ii) limited the use of proceeds from the Revolver Loan by the Company or its affiliates to $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_oHiMfUzd9kqTASKUNE5HkA" decimals="0" format="ixt:numdotdecimal" name="tpcs:ProceedsFromTermLoan" scale="0" id="Narr_4SQssGDXiEOymC4AFMI4uQ">2,000,000</ix:nonFraction> in the aggregate for due diligence and related professional costs incurred on or prior to May 10, 2024 in connection with any acquisitions; and (iii) makes certain changes to the amount and methods of valuation of equipment securing repayment of the borrowed funds. Through May 20, 2024, Ranor utilized a revolving line of credit with, following certain modifications, a maximum principal amount available of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_-0kiYhNHB0q6EwmdEFOcFQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_NKDe_i6Lb0u1gh2ZFTTfqQ">5.0</ix:nonFraction> million. Advances under the Revolver Loan are subject to a borrowing base equal to the lesser of (a) $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_Z08GjzS9H0i9IczFotrueA" decimals="-5" format="ixt:numdotdecimal" name="tpcs:MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance" scale="6" id="Narr_9lmMSNbr9k--O6hNK5Cw8g">5.0</ix:nonFraction> million or (b) the sum of (i)<ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_12_21_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_8ZsazWF5dUyyfUQAik72jQ" decimals="2" format="ixt:numdotdecimal" name="tpcs:DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances" scale="-2" id="Narr_-ERF-4M1V0O_N0YhqFj-XA">80</ix:nonFraction>% of the net outstanding amount of Base Accounts, plus (ii) the lesser of (x) <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_12_21_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_8ZsazWF5dUyyfUQAik72jQ" decimals="2" format="ixt:numdotdecimal" name="tpcs:DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances" scale="-2" id="Narr_92AbupPzpkGZfrKzJ775xg">25</ix:nonFraction>% of Eligible Raw Material Inventory, and (y) $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_jeEI0EdHx0icxSAglAlWRA" decimals="0" format="ixt:numdotdecimal" name="tpcs:AmountIncludedInSumToCalculateMaximumBorrowingBase" scale="0" id="Narr_H6BiJIK8sU-TLmPOv0dyYg">250,000</ix:nonFraction>, plus (iii) <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_12_21_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_NotesPayableOtherPayablesMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_kMiUPkmCpUSJM6hWiBAAFQ" decimals="2" format="ixt:numdotdecimal" name="tpcs:DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances" scale="-2" id="Narr_Xr-i1YpjR0qGqwcOT_jeCA">80</ix:nonFraction>% of the Appraised Value of the Eligible Equipment, as such terms are defined in the Loan Agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company agrees to pay to Berkshire Bank, as consideration for Berkshire Bank&#8217;s agreement to make the Revolver Loan available, a nonrefundable Revolver Loan fee equal to <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_g1USBG1K9kmpZiRkVT0X-Q" decimals="4" format="ixt:numdotdecimal" name="tpcs:NonrefundableCommitmentFeePercentages" scale="-2" id="Narr_94oy3j04TkWAEJ7H_7_9Mw">0.25</ix:nonFraction>% per annum (computed based on a year of 360 days and actual days elapsed) on the difference between the amount of: (a) $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_MZO7U7o6i0q-wwSvX2GqDQ" decimals="-5" format="ixt:numdotdecimal" name="tpcs:MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance" scale="6" id="Narr_69zA4zW0bEOgfB0aWaoglA">5.0</ix:nonFraction> million, and (b) the average daily outstanding balance of the Revolver Loan during the quarterly period then ended. All Revolver Loan fees are payable quarterly in arrears on the first day of each January, April, July and October and on the Revolver Maturity Date, or upon acceleration of the Revolver Loan, if earlier. Interest-only payments on advances made under the Revolver Loan will continue to be payable monthly in arrears. Under the amended promissory note for the Revolver Loan, the Company pays interest at the Term SOFR-based rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On May 28, 2024, Ranor and the other Borrowers entered into an Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note with Berkshire Bank. Effective May 24, 2024, the Eighth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from May 24, 2024 to August 30, 2024; (ii) amends the maximum principal amount of the Revolver Loan from $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_5_23_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_MeY5ch22TEK0hgT3pohf7Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" id="Narr_Lh3nxjGju0eJlMsrl8AbuA">5,000,000</ix:nonFraction> to $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_5_24_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_oephzG9_JEGpZARH8vCLCA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" id="Narr_eX5_SionTUiihrVXPky4Jw">4,500,000</ix:nonFraction>; and (iii) effective on June 1, 2024, increases the Term SOFR Margin (as defined in the Amendment) used to calculate the interest rate from <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_5_31_2024_To_5_31_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_69CdOSzDkES42y072zf_4A" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Narr_mz-Y0puO_0q9gE6g-u3-mg">2.25</ix:nonFraction>% per annum to <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_6_1_2024_To_6_1_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_lB4Q0kutyUynbBGYpF9uyg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Narr_ayvi9lhdp0ulHBPILPsiMw">2.50</ix:nonFraction>% per annum.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Ninth Amendment&#8221;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Interest payments made under the Revolver Loan for the fiscal year ended March 31, 2024 and 2023 were $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_aCrg8sYJXUaoOhqLIjs1UA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseDebt" scale="0" id="Narr_1aW_vNoG_E6GOmgd2FWkWQ">171,073</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_BlU5g3tJS0aObnTP36QrHQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseDebt" scale="0" id="Narr_ZYLNXJdJqE6cvDPzdIwJPQ">33,156</ix:nonFraction>, respectively. The weighted average interest rate at March 31, 2024 and March 31, 2023 was <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_5UOYm-Y8-0isqbIxiXCq9A" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtWeightedAverageInterestRate" scale="-2" id="Narr_ph3aJqSDokCVWsocOA3fXA">7.60</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_TLa0eTgij0mkZhwwQ-oqjA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtWeightedAverageInterestRate" scale="-2" id="Narr_wmNJulOFw0unARv8qbhr0Q">5.02</ix:nonFraction>%, respectively. There was $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_MZO7U7o6i0q-wwSvX2GqDQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="6" id="Narr_tLg2vyImmk-WP2HNZfFfCw">2.8</ix:nonFraction> million outstanding under the Revolver Loan at March 31, 2024. Unused borrowing capacity at March 31, 2024 and 2023 was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_5UOYm-Y8-0isqbIxiXCq9A" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" id="Narr_KgSsMAlpF0GW6DP_RCaNeA">0.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_TLa0eTgij0mkZhwwQ-oqjA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" id="Narr_HvsZI68YNkKTe4A7UT6j6g">4.2</ix:nonFraction> million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Unamortized debt issue costs at March 31, 2024 and March 31, 2023 were $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_dei_LegalEntityAxis_tpcs_RanorIncMember_dgEvgCfWP0e1Kf4eyKjU4A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsGross" scale="0" id="Narr_3X3tZnqtI0a9b_5nXBU7HQ">59,228</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_dei_LegalEntityAxis_tpcs_RanorIncMember_iMo17cTKDEqQIDgDYlD5ag" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsGross" scale="0" id="Narr_MCnmidSZiUmcBkfgKZDXvg">101,230</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Berkshire Loan Covenants</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">For purposes of this discussion, Ranor and Stadco are referred to together as the &#8220;Borrowers&#8221;. The Ranor Term Loan, the Stadco Term Loan and the Revolver Loan, or together, the &#8220;Berkshire Loans&#8221;, may be accelerated upon the occurrence of an event of default as defined in the Berkshire Loan Agreement. Upon the occurrence and during the continuance of certain default events, at the option of Berkshire Bank, or automatically without notice or any other action upon the occurrence of certain other events specified in the loan agreement, the unpaid principal amount of the Loans and the Notes together with accrued interest and all other obligations owing by the Borrowers to Berkshire Bank would become immediately due and payable without presentment, demand, protest, or further notice of any kind.</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;text-align:center;margin:24pt 0pt 0pt 0pt;">58</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_hRJ-xUQ_MESVbE6q45J87g_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company agreed to maintain compliance with certain financial covenants under the Loan Agreement. Namely, The Borrowers agree to maintain the ratio of the Cash Flow of TechPrecision to the Total Debt Service of TechPrecision of not less than <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_gQhFrTy3ZE6ZtXa3cLcl-w" decimals="2" format="ixt:numdotdecimal" name="tpcs:CashFlowRatioOfDebtService" scale="0" id="Narr_xKasgOOSG0miXLqFrVEI7g">1.20</ix:nonFraction> to <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_Zwk-OG94HkKtLU__1aKN2g" decimals="2" format="ixt:numdotdecimal" name="tpcs:CashFlowRatioOfDebtService" scale="0" id="Narr_YGH9gBWX_EK4pRr0Gsa3dw">1.00</ix:nonFraction>, (except for the fiscal quarter ended December 31, 2022, in which case such ratio of Cash Flow to Total Debt Service was not to be less than <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_gQhFrTy3ZE6ZtXa3cLcl-w" decimals="2" format="ixt:numdotdecimal" name="tpcs:CashFlowToTotalDebtService" scale="0" id="Narr_ILcsv7mp006TOFtpQAb2_A">1.10</ix:nonFraction> to <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_Zwk-OG94HkKtLU__1aKN2g" decimals="2" format="ixt:numdotdecimal" name="tpcs:CashFlowToTotalDebtService" scale="0" id="Narr_1bYgSGFVP0CnNJz3JbUUkA">1.00</ix:nonFraction>), measured quarterly on the last day of each fiscal quarter-annual period of TechPrecision on a trailing 12-month basis, commencing with the fiscal quarter ending as of September 30, 2021. Calculations will be based on the audited (year-end) and unaudited (quarterly) consolidated financial statements of TechPrecision. Quarterly tests will be measured based on the financial statements included in the Company&#8217;s quarterly reports on Form 10-Q within 60 days of the end of each quarter, and annual tests will be measured based on the financial statements included in the Company&#8217;s annual reports on Form 10-K within 120 days after the end of each fiscal annual period. Cash Flow means an amount, without duplication, equal to the sum of net income of TechPrecision plus (i) interest expense, plus (ii) taxes, plus (iii) depreciation and amortization, plus (iv) stock based compensation expense taken by TechPrecision, plus (v) non-cash losses and charges and one time or non-recurring expenses at Berkshire Bank&#8217;s discretion, less (vi) the amount of cash distributions, if any, made to shareholders or owners of TechPrecision, less (vii) cash taxes paid by the TechPrecision, all as determined in accordance with U.S. GAAP. &#8220;Total Debt Service&#8221; means an amount, without duplication, equal to the sum of (i) all amounts of cash interest paid on liabilities, obligations and reserves of TechPrecision paid by TechPrecision, (ii) all amounts paid by TechPrecision in connection with current maturities of long-term debt and preferred dividends, and (iii) all payments on account of capitalized leases, all as determined in accordance with U.S. GAAP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Borrowers agree to cause their Balance Sheet Leverage to be less than or equal <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_gQhFrTy3ZE6ZtXa3cLcl-w" decimals="2" format="ixt:numdotdecimal" name="tpcs:DebtInstrumentCovenantLeverageRatioYearOne" scale="0" id="Narr_v_8MWyMLvEKxZmS0t-3MjQ">2.50</ix:nonFraction> to <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_Zwk-OG94HkKtLU__1aKN2g" decimals="2" format="ixt:numdotdecimal" name="tpcs:DebtInstrumentCovenantLeverageRatioYearOne" scale="0" id="Narr_Y2XGAJQUbUC9C9dBhTAF3Q">1.00</ix:nonFraction>. Compliance with the foregoing shall be tested quarterly, as of the last day of each fiscal quarter of the Borrowers, commencing with the fiscal quarter ending September 30, 2021. &#8220;Balance Sheet Leverage&#8221; means, at any date of determination, the ratio of Borrowers&#8217; (a) Total Liabilities, less Subordinated Debt, to (b) Net Worth, plus Subordinated Debt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Borrowers agree that their combined annual capital expenditures shall not exceed $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_LI1NAr_ue0eqh_TFiOiFhQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="6" id="Narr_2STjwO0tuEKbnjieUYTv9A">1.5</ix:nonFraction> million. Compliance shall be tested annually, commencing with the fiscal year ending March 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Borrowers agree to maintain a Loan-to-Value Ratio of not greater than <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_yvrHpEyhnEaFv1s9crDdxA" decimals="2" format="ixt:numdotdecimal" name="tpcs:DebtInstrumentCovenantLoanToValueRatio" scale="0" id="Narr_IwvQhazgR0-Bo9SKbF10gg">0.75</ix:nonFraction> to <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_v72CklxSzUW7tTveCOHSzw" decimals="2" format="ixt:numdotdecimal" name="tpcs:DebtInstrumentCovenantLoanToValueRatio" scale="0" id="Narr_c_7Gu4amdUOUBycN6UPAaQ">1.00</ix:nonFraction>. &#8220;Loan-to-Value Ratio&#8221; means the ratio of (a) the sum of the outstanding balance of the Ranor Term Loan and the Stadco Term Loan, to (b) the fair market value of the property pledged as collateral for the loan, as determined by an appraisal obtained from time to time by Berkshire Bank, but not more frequently than one time during each <ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_xvSsYUL0ikqE_UV6UpgLew" format="ixt-sec:durday" name="tpcs:DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio" id="Narr_4bI0H6vsmEORK-qdGbjYug">365</ix:nonNumeric> day period (provided that Berkshire Bank may obtain an appraisal at any time after either the Ranor Term Loan or the Stadco Term Loan has been accelerated), which appraisals shall be at the expense of the Borrowers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company was in compliance with all of the financial covenants at March 31, 2023, except for the combined capital expenditures limit, as it exceeded the capital expenditure limit of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_LI1NAr_ue0eqh_TFiOiFhQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="6" id="Narr_VpRCnKq4FUSm6qn6B4hkBQ">1.5</ix:nonFraction> million as defined in the agreement. On June 12, 2023, the Company and Berkshire Bank executed a waiver under which Berkshire Bank waived the Company&#8217;s noncompliance with the capital expenditure limit on March 31, 2023. The waiver document also contains an agreement by the parties to exclude from the calculation of capital expenditures for purposes of the Loan Agreement during the year ending March 31, 2024 any such expenditures made by the Company to the extent they are made using funds provided by customers of the Company for the purpose of making such capital expenditures. For the twelve months ended March 31, 2024, approximately $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_LI1NAr_ue0eqh_TFiOiFhQ" decimals="-5" format="ixt:numdotdecimal" name="tpcs:CapitalExpendituresFromPurchaseOfFixedAssets" scale="6" id="Narr_l0tMrZqzZUu3cCc1dkrKvQ">2.6</ix:nonFraction> million of capital expenditures were excluded from the calculation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Collateral securing all the above obligations comprises all personal and real property of the Company, including cash, accounts receivable, inventories, equipment, and financial assets. The Company&#8217;s short-term and long-term debt is all privately held with no public market for this debt and is considered to be Level 3 under the fair value hierarchy. The carrying value of short and long-term borrowings approximates their fair value.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:OtherLiabilitiesDisclosureTextBlock" id="Tb_jR3SXgtaz0Spzs4Jg0y5dg" continuedAt="Tb_jR3SXgtaz0Spzs4Jg0y5dg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;13&#160;- OTHER NONCURRENT LIABILITY</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Under an addendum to a contract purchase order, one of our customers agreed to reimburse the Company for the cost of certain new equipment. Payments are received as the Company&#8217;s incurs construction costs. We received the first payment in January 2022, with additional payments received during fiscal 2023 and 2024. In case of a contract breach, at the time of the breach, the customer may claw back the funds based on a prorated ten-year straight-line annual declining balance recovery period. This liability amount was included in the Company&#8217;s consolidated balance sheets as a noncurrent liability as of March 31, 2024 and 2023 for $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="6" id="Narr_j2J-w6KTkUSU-2DXQZkZbA">3.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="6" id="Narr_G-OQN1HXCkOW0EvS02qFTA">1.2</ix:nonFraction> million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Stadco entered into the Payment Agreement with the LADWP to settle previously outstanding amounts for water, water service, electric energy and/or electric service in the aggregate amount of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_VDwqQdIZJke8qwTwxeUXJQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" scale="0" id="Narr_i0tcxAweP0Oq8plEIHYTGQ">1,770,201</ix:nonFraction> that were delinquent and unpaid. Under the Payment Agreement, Stadco will make monthly installment payments on the unpaid balance beginning on December 15, 2022, in an aggregate amount of </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;text-align:center;margin:24pt 0pt 0pt 0pt;">59</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_jR3SXgtaz0Spzs4Jg0y5dg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_VDwqQdIZJke8qwTwxeUXJQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:PaymentArrangementAgreementMonthlyInstalmentsPayable" scale="0" id="Narr_gkp_z7ub10-YIBYErxQMdQ">18,439</ix:nonFraction> per month until the earlier of November 15, 2030, or the amount due is paid in full. Late payments under the Payment Agreement accrue a late payment charge equal to an <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2024_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_VDwqQdIZJke8qwTwxeUXJQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:PaymentArrangementAgreementAnnualLatePaymentChargePercentage" scale="0" id="Narr_YFWtGJXwe0-z2yPHHy55Sg">18</ix:nonFraction>% annual rate on the unpaid balance. This liability amount was included in the Company&#8217;s balance sheet as a current and noncurrent liability as of March 31, 2024 and March 31, 2023 for $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" scale="6" id="Narr_0WP3BPNZUUGSkS3grctETQ">0.2</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" scale="6" id="Narr_WKPEOA90bkCDiVC5InmfRQ">1.3</ix:nonFraction> million, and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="-5" format="ixt:numdotdecimal" name="tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" scale="6" id="Narr_RObym2pGTUmEeUOrCRpHTA">0.2</ix:nonFraction> million, and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="-5" format="ixt:numdotdecimal" name="tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" scale="6" id="Narr_o8xEdMIjBEqmCzw07i0vMg">1.5</ix:nonFraction> million, respectively.</p></ix:continuation><a id="Tc_dwPGdKhui0KASIQESyvshQ_1_2"></a><a id="Tc_C2gATWGq7k2Q4zR-fN2sNw_1_5"></a><a id="Tc_BPWJ4iKr-ES5tgooSCcdqA_2_0"></a><a id="Tc_Vp339xoasEyxcszpS9E7QA_3_0"></a><a id="Tc_zhBVzNcW5Ei9-4gbLYqpow_3_2"></a><a id="Tc_DNYpW70QiECcroGkPQjJZg_3_5"></a><a id="Tc_Rfe-peqnmUe7XnglU9x2Xw_4_0"></a><a id="Tc_bKfHycl0y060G3uoMz_Zeg_5_0"></a><a id="Tc_LzUdKOBiSEOOfzTpv5y59g_6_0"></a><a id="Tc_c4LN3611aEisGLncO3QB8w_6_2"></a><a id="Tc_9Nldw66rVUmcu8_OVjctiw_6_5"></a><a id="Tc__McAEr4Hl02CccedeO_-zA_7_0"></a><a id="Tc_Tbo944d_E06J0MUP9jjmnw_7_2"></a><a id="Tc_KW9ylkk5fUOCa6zMvfmsyA_7_5"></a><a id="Tc_fLnppMmZ0kGW8gP51X698A_8_0"></a><a id="Tc_ashEEl7_7kimolVNGlIyXg_9_0"></a><a id="Tc_5SgxCLWOt0WfmRZ-P2ICgg_9_2"></a><a id="Tc_e-IFXJfdek2m3c58CCdfXg_9_5"></a><a id="_053b10f1_0760_41c6_97c4_e4a489a000a1"></a><a id="Tc_dA1AkoayHUWdzDJ_ZwDS2g_1_0"></a><a id="Tc_tGOnb2hAKUGnibqvDK5LOQ_1_2"></a><a id="Tc_3m_fDDl5_0CPylUUIfxGBQ_1_5"></a><a id="Tc_1ySIO0LeQUyap9rsd6qCAg_2_0"></a><a id="Tc_HGrrFEV7mU-rB-4W6J48tQ_2_2"></a><a id="Tc_2agTb9g8XUO-X0ieUjYsXA_2_5"></a><a id="Tc_oqndIWiFEkOjeoibs9RhEg_3_0"></a><a id="Tc_H7qvFThkl0SFBhxUV_lQ5A_3_2"></a><a id="Tc_KURWKTUcw0ueZw8E4wPsUA_3_5"></a><a id="Tc_a3Jly4iFTUq-F8kaMHqBKA_4_0"></a><a id="Tc_LJz6Lew2kk66rV0bv8eTrA_4_2"></a><a id="Tc_ciD-Vl_nPEaJGwjM_pxl2A_4_5"></a><a id="_a6e0b311_98bd_4625_b84e_2ccd2bd0e895"></a><a id="Tc_Pvl6ICKeH0CXivQK9Nf2Lw_1_0"></a><a id="Tc_32BP-CTpL0W6A8Gnm6Q7Gg_1_2"></a><a id="Tc_KbXY4Hvfi0OmUsjBDCR5fg_1_4"></a><a id="Tc_HFZoXD0tT0ic9zne2cqXDA_2_0"></a><a id="Tc_1dP9n8qgk0CdjHAeNboZbA_3_0"></a><a id="Tc_m8ERJJ2rlkOKk4_9IW0npA_4_0"></a><a id="Tc_5S70lzRuhU2ORLchPMXBVg_4_3"></a><a id="Tc_Tu-OlKvdL0KaeCwd1sW9WA_4_5"></a><a id="Tc_WgV47kaMBEamCVnUofwJZg_5_0"></a><a id="Tc_RufM3gD1lkiicpQOXx565A_5_3"></a><a id="Tc_8QerXGkt00iPkR9hlqWRWQ_5_5"></a><a id="_eb180776_db13_4cc4_b876_bc786cac3c4d"></a><a id="Tc_EuxQ5WB870qxnpUoCDuhIw_1_0"></a><a id="Tc_F2FzCntGwUyI1BxCDXYMlA_1_2"></a><a id="Tc_lwyFceTMLE2doPsmIYxdHw_1_5"></a><a id="Tc_LJZkqSJj-0a7LUOwdIDkHA_2_0"></a><a id="Tc_dyZhIu62rkuWR3RnXA087g_2_2"></a><a id="Tc_NNvX2ZPPLE-5eF98rsWhqA_2_5"></a><a id="Tc_VPgpAyHt7kiwJedwBRk0bw_3_0"></a><a id="Tc_5GnVTk7H-k-PSZBG0905fw_3_2"></a><a id="Tc_YYAmKJH7W0Cezb60v250pQ_3_5"></a><a id="Tc_WnDFnqTck026hHULg45Twg_1_0"></a><a id="Tc_rNpf-ojc2EGLjGJPBNRBuQ_1_2"></a><a id="Tc_zUR8S1LT3kK3YdeaMt9ZoQ_2_0"></a><a id="Tc_-2HpYDVxEEmltwt4_lo1wg_3_0"></a><a id="Tc_vvmZSACllEq9H0geBrbxHg_4_0"></a><a id="Tc_MJrsmtleEEmPtscT8Uy3VA_5_0"></a><a id="Tc_4EL5_BIfwU-dORAewJIniw_6_0"></a><a id="Tc_xH0Q36ZfRk2o2RflfDH5OA_7_0"></a><a id="Tc_A2-uB__Sg0CT7NjhjHVhbw_7_2"></a><a id="Tc_b8xlopOGJ0uA6qID0SKrSg_8_0"></a><a id="Tc_tRTGURQld0uN3xcc8fwJTw_9_0"></a><a id="Tc_umGDQ_kbtUqZu4_mfyV1Nw_9_2"></a><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="tpcs:LeaseOfLesseeDisclosureTextBlock" id="Tb_4Tmf53Ndg0Ski9EfbsITNw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;14&#160;&#8211; LEASES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 25, 2021, Stadco became party to an amended building and property operating lease and recorded a right of use asset and liability of $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_8_25_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_TqyME9GNOU2TVQyxoAb8xQ" decimals="-5" format="ixt:numdotdecimal" name="tpcs:OtherLeaseAssetsAndLeaseLiabilities" scale="6" id="Narr_1OJUdGt3D0uihvBa1I7muQ">6.6</ix:nonFraction>&#160;million. Monthly base rent for the property is $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_8_25_2021_To_8_25_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_dL5bww8fPUm5u_k8klBN5A" decimals="0" format="ixt:numdotdecimal" name="tpcs:LesseeFinanceLeaseMonthlyPayments" scale="0" id="Narr_AyA-UTerbUi0U1HYxr6EXg">82,998</ix:nonFraction>&#160;per month. The term of the lease will expire on June 30, 2030, and the lessee has no right of renewal beyond the expiration date. The lease contains customary default provisions allowing the landlord to terminate the lease if the lessee fails to remedy a breach of its obligations under the lease within the period specified in the lease, or upon certain events of bankruptcy or seizure or attachment of the lessee&#8217;s assets or interest in the lease. The lease also contains other customary provisions for real property leases of this type.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table lists our right-of-use assets and liabilities on our consolidated balance sheets at:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="tpcs:ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock" id="Tb_ENr_dzWgjEeEaLpkEkHdwg" 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;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:65.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Finance lease:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;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:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset &#8211; operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="0" id="Tc_kDST-aMv60WlfDzRtMzqdQ_3_3">6,629,396</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="0" id="Tc_uCztnF8hak25CZJqGCFBXg_3_6">6,629,396</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset &#8211; finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="0" id="Tc_B9s-oLqT6U2SkitUq6yi3w_4_3">65,016</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;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:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="0" id="Tc_3IoezlJVs06UzFmFO8eDUA_4_6">65,016</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization" scale="0" id="Tc_uzqMlfEnnke4PGKf2GRuyg_5_3">1,716,747</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization" scale="0" id="Tc_MgmXQ1_IIk6tErK1l5S-QA_5_6">1,033,474</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A" decimals="0" format="ixt:numdotdecimal" name="tpcs:RightOfUseAsset" scale="0" id="Tc_5MDxv8wJKEKbqlSf4HeT3w_6_3">4,977,665</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA" decimals="0" format="ixt:numdotdecimal" name="tpcs:RightOfUseAsset" scale="0" id="Tc_InWyaZT3J0Ks-fQF8Mk7dA_6_6">5,660,938</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liability &#8211; operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="0" id="Tc_p1icu2tZM0aRuxcjQQrsmA_7_3">5,124,823</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="0" id="Tc_5s50y34oTkOb5A3IIF_QBw_7_6">5,819,365</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liability &#8211; finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="0" id="Tc_Mk4x1oFxlUCF0ZjV9eouSg_8_3">19,151</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="0" id="Tc_TGvFfhKXAUWc9YhYZ0RJaw_8_6">36,336</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A" decimals="0" format="ixt:numdotdecimal" name="tpcs:LeaseLiability" scale="0" id="Tc_aSOlwaUR7EKVvui7DaK3mQ_9_3">5,143,974</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA" decimals="0" format="ixt:numdotdecimal" name="tpcs:LeaseLiability" scale="0" id="Tc_pI_DufrZHE6CUXZq1rALDQ_9_6">5,855,701</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Other supplemental information regarding our leases is contained in the following tables:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="tpcs:ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock" id="Tb_JGcpExTrM06q6WrGVLf8Lw" 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;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:65.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Components of lease expense for the year ended:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" scale="0" id="Tc_hjsPwwUVREm8bRwXS3EyEA_2_3">668,058</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" scale="0" id="Tc_zuZBFEt9P0S1hfpshBl28g_2_6">638,732</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="0" id="Tc__DjiVVfBykyF-TPmCFa5cQ_3_3">15,215</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="0" id="Tc_m5-cEVERsEq2RrtJ1vIGMw_3_6">20,829</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestExpense" scale="0" id="Tc_HtN1uspRCUqsg3ttQttpzw_4_3">834</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestExpense" scale="0" id="Tc_JX9x6sVs7kKWLG_bYUosFw_4_6">1,536</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Weighted average lease term and discount rate at:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease term (years) &#8211; operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;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:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_lzwx8KmANEyw_Q3Sn6XWIw_2_2"> 6.25</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_gP_zxnozmkGWRTs_iFZiEg_2_4"> 7.25</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease term (years) &#8211; finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" format="ixt-sec:duryear" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_TCFkZxueEkmQTMKmKHo3XQ_3_2"> 2.00</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" format="ixt-sec:duryear" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_wYxXz2X9xEOKUyVF0PdUWg_3_4"> 0.75</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease rate &#8211; operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_kZ_cY9XF4ECVsyQAUtOSWA_4_2">4.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_neV3MzkpWEyesaBKc87csw_4_4">4.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease rate &#8211; finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;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:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_uVExNF6zw0ipFmEodKVi4g_5_2">3.2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_dyXKqCqqpUy8yMWVFAS-gw_5_4">4.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="tpcs:ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock" id="Tb_QGaFpC9qT0G0DjvpnZx_ig" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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:65.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Supplemental cash flow information related to leases for the year ended:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash used in operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="0" id="Tc_b--xi6vsg0ut5Y1Nd6FumA_2_3">938,801</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="0" id="Tc_yhk_uV8xL0-uT_f60a42sA_2_6">851,806</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash used in financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" id="Tc_3YfRhk7Zw0mubfPzD_5bVA_3_3">17,185</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" id="Tc_i0j8qV40SU6uNRN5bCARhQ_3_6">36,572</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Maturities of lease liabilities at March 31, 2024 for the next five years and thereafter:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock" id="Tb_9ll1X_DCGECY6A2wp2pBPA" 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;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:83.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" scale="0" id="Tc_iey20I9VMUSzb753BK3t8w_1_3">948,701</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" scale="0" id="Tc_lVhfFBklDke6uKhVm85kkA_2_3">948,701</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree" scale="0" id="Tc_EtWUoSOKz0GFQD1u4HoNHA_3_3">938,801</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour" scale="0" id="Tc_rM2jNGhXl027Q005zRgNdA_4_3">938,801</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive" scale="0" id="Tc__oPqYWJ7W0elMfv83AVPQw_5_3">938,801</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive" scale="0" id="Tc_LnZ5gmeZi0uOTYdCBnQNDw_6_3">1,095,270</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" scale="0" id="Tc_cFKRFI7J1kOoWiHxWMi3DA_7_3">5,809,075</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="tpcs:FinanceLeaseLiabilityImputedInterest" sign="-" scale="0" id="Tc_3VChe1MNj0O8H-NF1MguYw_8_3">665,101</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="tpcs:FinanceLeaseLiabilities" scale="0" id="Tc_5j70YCrRqUSX-vwA03oN3g_9_3">5,143,974</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;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;text-align:center;margin:24pt 0pt 0pt 0pt;">60</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Tb_4AHcKkH7oUutUDLMZNy4HA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;15&#160;&#8211; COMMITMENTS AND CONTINGENCIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Employment Agreements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have employment agreements with each of our executive officers. Such agreements provide for minimum salary levels, adjusted annually, and incentive bonuses that are payable if specified company goals are attained. The aggregate commitment at March 31, 2024 for future executive salaries was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="tpcs:EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear" scale="6" id="Narr_VZI8wq4k1kSzKESt87-pOg">0.6</ix:nonFraction> million. The aggregate commitment at March 31, 2024 was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="tpcs:EmployeeAgreementAnnualCommitmentForVacationAndHoliday" scale="6" id="Narr_lSR4H9EKQku9shmIxK-_QQ">1.0</ix:nonFraction> million for accrued payroll, vacation and holiday pay for the remainder of our employees.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Purchase Commitments</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of March&#160;31, 2024, we had approximately $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligation" scale="6" id="Narr_Xil0BYxGqU-bbkxqPsfxyg">5.8</ix:nonFraction>&#160;million in purchase obligations outstanding, which primarily consisted of contractual commitments to purchase new materials and supplies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Retirement Benefits</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Ranor has a defined contribution and savings plan that covers substantially all Ranor employees who have completed 90 days of service. Ranor retains the option to match employee contributions. The Company contributed $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="0" id="Narr_b667lbYbSU2s2OkottwqEQ">86,026</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="0" id="Narr_Nj-Dn18nr0Sk12F5Z-jw5w">84,889</ix:nonFraction> for the&#160;years ended March&#160;31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Legal Proceeding</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On October 30, 2023, a former employee filed suit against Stadco asserting individual wage and hour claims, claims for age and disability discrimination under California law, and a collective action on behalf of all non-exempt Stadco employees pursuant to the California Private Attorneys General Act of 2004 (&#8220;PAGA&#8221;) [Cal. Lab. Code, ss. 2698, et seq.], to impose civil penalties for certain violations of the California Labor Code. Stadco has retained outside legal counsel to defend this action. The case has been stayed and was resolved in principle at mediation on June 26, 2024. The PAGA settlement must be approved at a court hearing at a future date that has not been determined. The former employee&#8217;s individual claims were also resolved at mediation, and final settlement payment on the individual claims was due and paid in August, 2024.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_fUv2kG0NdUGXxr1rv8b2fg" continuedAt="Tb_fUv2kG0NdUGXxr1rv8b2fg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;16&#160;&#8211; SEGMENT INFORMATION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has <ix:nonFraction unitRef="Unit_Standard_item_oi67NW31uUCizwhUbF89_w" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_SoD5RBIQYU2_HlsF-DCokA">two</ix:nonFraction> wholly owned subsidiaries, Ranor and Stadco that are each reportable segments. The accounting policies of the segments are the same as those described in the summary of significant accounting policies. All the Company&#8217;s operations, assets, and customers are located in the U.S.</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;text-align:center;margin:24pt 0pt 0pt 0pt;">61</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="_05bb1238_7280_4aae_a505_59a60583bb74"></a><a id="Tc_80cEvWmjk0aGP8i0zdMzrA_1_2"></a><a id="Tc_Jo6YkGE_lE6Ba5fhz565Sw_1_5"></a><a id="Tc_8tKh4zbJ4kagXfzhkqEGMg_2_0"></a><a id="Tc_FTrm2w7bnEaRV6u-RtMH7Q_2_2"></a><a id="Tc_sKkPKH7QpUK5B1GuL5h9uA_2_5"></a><a id="Tc_7RsfYmAq8UyJ6crS1Mm-pA_3_0"></a><a id="Tc_gt5OfGKP8Uu7_lbPUyQhyg_4_0"></a><a id="Tc_piIidv4NlUOglW9UGFxnhQ_4_6"></a><a id="Tc_5NTnu6Sh3EmzismPqCdzhA_5_0"></a><a id="Tc_FRMLFpxyVkegKuUPPlhYBw_5_2"></a><a id="Tc_e0bUTKNOk0CFj52es1QdUA_5_5"></a><a id="Tc_U4DM8ZroL0G-PAQap67qCA_6_0"></a><a id="Tc_gUm5--9Tkkm7ONf3HAM2Mg_7_0"></a><a id="Tc_LUC0Hi828kS0CsGN6F1lBg_8_0"></a><a id="Tc_bZIVRlHIYUiUiOFFlQxwew_9_0"></a><a id="Tc_veuGqMtn3Ea6VQr0Pz0MHg_9_2"></a><a id="Tc_2etZ6BdPckKUyg8iu5PFag_9_5"></a><a id="Tc_nQjzXkeTmU6Pl5sPoMFKHg_10_0"></a><a id="Tc_CBAUvfNQ8EGnpN1YiLGMug_11_0"></a><a id="Tc_rPDXQDPeTEGDxx22EzifyQ_11_3"></a><a id="Tc_yM4rxQJdDkqdUbdCJDbrCQ_12_0"></a><a id="Tc_RHQl_aws_US72LM0SNaGEw_13_0"></a><a id="Tc_DoX2XuI330CEy6M90ahcDw_13_2"></a><a id="Tc_wCBprYuubUS_xx8mBeogaA_13_5"></a><a id="Tc_74nyoi0g60CVmkKuXGef_g_14_0"></a><a id="Tc_FluDofEdBki52F5HMdzajA_15_0"></a><a id="Tc_zBxawq9bLk6msMm3Dgc6hw_16_0"></a><a id="Tc_YzCovRgHMEKKoEUNKz3gIQ_17_0"></a><a id="Tc_H30kzc52RUafMzXElSyWHQ_18_0"></a><a id="Tc_FB_EL3nC10-Zbpmjgl1t5A_18_2"></a><a id="Tc_ju51ao-Az0yN6IIl7ww1Mg_18_5"></a><a id="Tc_HPcggp-pkkmtCO4w4UvhiQ_19_0"></a><a id="Tc_dNrtvmAs9kKEEpuQDGx05g_20_0"></a><a id="Tc_BkWku_lIjkyRdgCoSZ16Cw_21_0"></a><a id="Tc_4ACByaWDtUeqQZdb1jqJKQ_22_0"></a><a id="Tc_14mvm3O6oUeswZjM1op73g_22_2"></a><a id="Tc_jOE9LjRiFEiViirVE_cfGA_22_5"></a><a id="Tc_j0FScIerZUKTMAUDIt7bmw_23_0"></a><a id="Tc_-F72MMmGz0yMkorwNnimlg_24_0"></a><a id="Tc_GCoCRmMbgkKKOoR9peCLWQ_25_0"></a><a id="Tc_BCauyC6L7ESl8CF-n4QonA_26_0"></a><a id="Tc_FIBV3uI9gk6NM63n7CLQ3Q_26_2"></a><a id="Tc_-2PNo7VdO0Oobm6_KZsBuA_26_5"></a><ix:continuation id="Tb_fUv2kG0NdUGXxr1rv8b2fg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Each reportable segment focuses on the manufacture and assembly of specific components, primarily for defense, aerospace and other industrial customers. However, both segments have separate operating, engineering, and sales teams. The Chief Operating Decision Maker, or CODM, evaluates the performance of our segments based upon, among other things, segment net sales and operating profit. Segment operating profit excludes general corporate costs. Corporate costs include executive and director compensation, stock-based compensation, and other corporate and administrative expenses not allocated to the segments. The segment operating profit metric is what the CODM uses in evaluating our results of operations and the financial measure that provides insight into our overall performance and financial position. The following table provides summarized financial information for our segments:</p><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="Tb_iOQYerjeT0-PRczdWNF1jQ" 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;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:70.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.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;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.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_cYSNVMDVrkGWyIaqwI0jkA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="0" id="Tc_YeZiQjN_EEaSOarTic1F-A_2_3">17,820,542</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_cSdJIs7yrUWi6LWvlZ3_Ng" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="0" id="Tc_TJFbm4KZR0uiIOhySAboQQ_2_6">19,181,539</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember__SeFpt5xTE6k1SvzMcIc1g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="0" id="Tc_rFGr4LZWUkaKF4ivN-odzw_3_3">14,567,287</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_zOH2RRSEDUSuPxiahVN8KA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="0" id="Tc_cfbyk5IrtE-K1gxdbx5pZA_3_6">12,250,075</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Eliminate intersegment revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_qsb6TwyG4EKxIcR07SYe3Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="0" id="Tc_QNEna6ZVSUKMYzbiUd-hjQ_4_3">796,770</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Net sales from external customers</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="0" id="Tc_yvwk9jV5oEWgOFebotBMmQ_5_3">31,591,059</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="0" id="Tc_175FhEd0s0SZvSSfdQAEGA_5_6">31,431,614</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_cYSNVMDVrkGWyIaqwI0jkA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="0" id="Tc_WjEkIh8gBUWp7p-SnOmNOw_6_3">3,070,440</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_cSdJIs7yrUWi6LWvlZ3_Ng" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="0" id="Tc_0nba7TaJ5UmJoKSRCcvQvw_6_6">5,328,186</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco operating loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember__SeFpt5xTE6k1SvzMcIc1g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="0" id="Tc_5coyJM9RUkiPwBF9vHR6sQ_7_3">1,981,316</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_zOH2RRSEDUSuPxiahVN8KA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="0" id="Tc_NpYpYDF10kmWIbgszzfX5g_7_6">3,905,324</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate and unallocated <i style="font-style:italic;">(1)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember__P3LfmwPSESYNR2WGYya9A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="0" id="Tc_O_pxs0OO0kuuLbmpisRt3A_8_3">5,721,324</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_fb8m3jAKSU2sbVjIg4UGRw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="0" id="Tc_5k7Te89gN06MF8gX7x4JHQ_8_6">2,528,082</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Operating loss </i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="0" id="Tc_w5Klid6huEe_l_-wFPVhVQ_9_3">4,632,200</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="0" id="Tc_nF12l5Uv70eIN5EqqcNo3Q_9_6">1,105,220</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseNonoperating" scale="0" id="Tc_PEKwaINYg0-iOl3dGxzC8A_10_3">521,108</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseNonoperating" scale="0" id="Tc_bsM2HNnJW0-P2xqYNK5d3Q_10_6">355,608</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Refundable employee retention tax credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">--</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:EmployeeRetentionCreditRefund" scale="0" id="Tc_Q_48QTBm00O1itTeCJA88g_11_6">636,564</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="tpcs:OtherIncomeAndExpense" scale="0" id="Tc_8BqQFLn6eEirgp1d44m8lA_12_3">43,363</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:OtherIncomeAndExpense" scale="0" id="Tc_Hz9wrA4wekOmLiMGq5Skmg_12_6">40,842</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Consolidated loss before income taxes</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="0" id="Tc_BRGKigAV_ky5TlwOXWia2w_13_3">5,109,945</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="0" id="Tc_ZtRNu9f1eEmeT2w0j4JKuw_13_6">783,422</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Assets</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_U8gUjmfvEUmrLoZxSVLNjg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_Z244CG_vC0ev1lFHJoQudg_15_3">11,972,805</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_WqXOndtMdUi9s3aZRXQCJw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_VdrSRg1dxkqLao6EnPM_wA_15_6">11,350,905</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_hAnMRmfRzESD37lh8ef_bA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_mz_z25lKzk61QUsP1UPBpA_16_3">22,420,276</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_uGePGeSlw0Gy9lhf9NBi6g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_0RwVXT9wCE-dxBRDy7Zoig_16_6">23,817,425</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate and unallocated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_mpM5EootnEGF9WEVM6YG6A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_SaoIVqkkF0-ZGQBjW4iUXQ_17_3">353,614</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_pWniNexCs0e831MRWTuxWg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_SDzeMKWnDUeBSBgmYTjjQg_17_6">1,039,411</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_elzfm0enTUWdGzwrZfnC3Q_18_3">34,746,695</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_sH4gxDIIDUWLLNDozSLlHQ_18_6">36,207,741</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Depreciation and amortization</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_eqbGpv8USkurAzyL5l7Hpg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationAndAmortization" scale="0" id="Tc_3BX8Nxmk4UyBQ5Fo6LL7MA_20_3">700,499</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_Cbmu2dDwBESGXYMmAdTdBA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationAndAmortization" scale="0" id="Tc_j-tKmw7gsE-D7jqGtkvojg_20_6">523,683</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_nmcMgqINEUCdIEPVcAWGbg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationAndAmortization" scale="0" id="Tc_2fONO2Fn7kC7p78zB5V5nw_21_3">1,728,878</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_6e1V3cqNpUizJjHhzW-iXg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationAndAmortization" scale="0" id="Tc_Ftp-jToSwEaKRhgqiq-oFw_21_6">1,693,789</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationAndAmortization" scale="0" id="Tc_3s_myzwdl0yOFTlOTxFJJA_22_3">2,429,377</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationAndAmortization" scale="0" id="Tc_i02Kk-dLk0KQe7l1GiPeiA_22_6">2,217,472</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Capital expenditures</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_eqbGpv8USkurAzyL5l7Hpg" decimals="0" format="ixt:numdotdecimal" name="tpcs:CapitalExpendituresFromPurchaseOfFixedAssets" scale="0" id="Tc__6ijjIuRx0KXTKzesIoHQQ_24_3">3,197,668</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_Cbmu2dDwBESGXYMmAdTdBA" decimals="0" format="ixt:numdotdecimal" name="tpcs:CapitalExpendituresFromPurchaseOfFixedAssets" scale="0" id="Tc_O0F0Em9J6Uqtm4XYiMCMwQ_24_6">1,599,966</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_nmcMgqINEUCdIEPVcAWGbg" decimals="0" format="ixt:numdotdecimal" name="tpcs:CapitalExpendituresFromPurchaseOfFixedAssets" scale="0" id="Tc_5W8D4xreSE2gLNqLSgcgUA_25_3">32,569</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_6e1V3cqNpUizJjHhzW-iXg" decimals="0" format="ixt:numdotdecimal" name="tpcs:CapitalExpendituresFromPurchaseOfFixedAssets" scale="0" id="Tc_84cLOC7nz02wEITF-orhRw_25_6">725,335</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" decimals="0" format="ixt:numdotdecimal" name="tpcs:CapitalExpendituresFromPurchaseOfFixedAssets" scale="0" id="Tc_S-LETpXzikWYvFilejTQOQ_26_3">3,230,237</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ" decimals="0" format="ixt:numdotdecimal" name="tpcs:CapitalExpendituresFromPurchaseOfFixedAssets" scale="0" id="Tc_y1QauIGWT028PAIRA2qDJg_26_6">2,325,301</ix:nonFraction></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">(1) Corporate general costs include executive and director compensation, and other corporate administrative expenses not allocated to the segments.</i></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Prior period segment data is restated to reflect changes in corporate and administrative expenses not allocated to the segments.</i></p></ix:continuation><a id="NOTE17SUBSEQUENTEVENTS_292564"></a><ix:nonNumeric contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww" name="us-gaap:SubsequentEventsTextBlock" id="Tb_Y8YJ-B5Uq0W46kvGqoaG1w" continuedAt="Tb_Y8YJ-B5Uq0W46kvGqoaG1w_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">NOTE 17 &#8211; SUBSEQUENT EVENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Termination of the Votaw Acquisition </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On November 22, 2023 we entered into a Stock Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with Doerfer Corporation (the &#8220;Seller&#8221;), pursuant to which, we would acquire all of the issued and outstanding common stock of Votaw Precision Technologies, Inc. (&#8220;Votaw&#8221;), and after giving effect to such purchase, Votaw was to become a wholly owned subsidiary of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Due to a change in certain conditions and events, it became probable that on March 31, 2024, the Company would be unable to close on the acquisition, and we accrued $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA" decimals="-5" format="ixt:numdotdecimal" name="tpcs:AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" scale="6" id="Narr_IqU44d_mgk-vxIbz4GHxsw">1.1</ix:nonFraction> million for a termination fee (see Note 11, <i style="font-style:italic;">Accrued Expenses</i>). On April 2, 2024, the Seller delivered to us written notice of its election to terminate the Purchase Agreement under Section 7.01(f) effective immediately. Pursuant to Section 7.01(f) of the Purchase Agreement, in the event that the Closing (as defined in the Purchase Agreement) had not occurred by the Outside Date (March 31, 2024, as defined in the Purchase Agreement) either the Company or the Seller had the right to terminate the Purchase Agreement, subject to the party terminating having complied with the other required closing conditions.</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;text-align:center;margin:24pt 0pt 0pt 0pt;">62</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_Y8YJ-B5Uq0W46kvGqoaG1w_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Since the Seller validly terminated the Purchase Agreement pursuant to Section 7.01(f) therein, the Company was required to pay to the Seller a termination fee, as the Seller&#8217;s exclusive remedy, consisting of <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_2_2024_To_4_2_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_fZRErHmOsEe4i1TFw36Aag" decimals="INF" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodSharesStockTerminationFee" scale="0" id="Narr_2ucwlIFloEWxUdtSnR2S5g">320,000</ix:nonFraction> shares of the Company&#8217;s common stock issued into the name of the Seller (the &#8220;Stock Termination Fee&#8221;) (see Note 11, <i style="font-style:italic;">Accrued Expenses</i>). The Purchase Agreement includes a provision that the Stock Termination Fee is increased by <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_2_2024_To_4_2_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_fZRErHmOsEe4i1TFw36Aag" decimals="INF" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodAdditionalSharesStockTerminationFee" scale="0" id="Narr_d0_I9CFio0GfEOtpGIApKw">48,000</ix:nonFraction> additional shares of the Company&#8217;s common stock under certain circumstances, including if the Company fails to use commercially reasonable efforts to cause a registration statement to effect the resale of the shares composing the Stock Termination Fee to become effective as soon as practicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On April 29, 2024, we issued <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_4_29_2024_To_4_29_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_Q-JdCBMx2kWTlx8wtXwsVg" decimals="INF" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodSharesStockTerminationFee" scale="0" id="Narr_89nFF2_AuEiWIVs9O-oFQw">320,000</ix:nonFraction> shares of the Company&#8217;s common stock as the Stock Termination Fee.On May 2, 2024, the Company filed a registration statement on Form S-1, related to the offer and resale by the Seller of up to <ix:nonFraction unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA" contextRef="Duration_5_2_2024_To_5_2_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_fXK-mD-3B0mp9tLc01Y33A" decimals="INF" format="ixt:numdotdecimal" name="tpcs:StockIssuedDuringPeriodAdditionalSharesStockTerminationFee" scale="0" id="Narr_O_sO5lOB6UyCZ26HWflcDw">320,000</ix:nonFraction> shares of our common stock that were issued to the Seller as the Stock Termination Fee, which cannot be declared effective by the Securities and Exchange Commission until we have filed all of the required financial statements, including our Quarterly Report on Form 10-Q for the fiscal quarter ended June 30, 2024,</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Amendment to Amended and Restated Loan Agreement and Promissory Note</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On May 28, 2024, the Company entered into an Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note with Berkshire Bank. Effective May 24, 2024, among other things extended the maturity date of the Revolver Loan from May 24, 2024 to August 30, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Ninth Amendment&#8221;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025. (see Note 12 - <i style="font-style:italic;">Debt).</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Private Placement of Common Stock and Warrants</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On July 3, 2024, the Company entered into a Securities Purchase Agreement, or the &#8220;Purchase Agreement&#8221;, with certain accredited investors, or the &#8220;Purchasers&#8221;, pursuant to which the Company agreed to sell in a private placement at an aggregate purchase price of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ" contextRef="Duration_7_3_2024_To_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_ZGcMv0h32UK2IQw9D1ABfw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="6" id="Narr_dwi5Oq3XpEir2v5EyCV2EA">2.3</ix:nonFraction> million (see Note 2 &#8211; <i style="font-style:italic;">Basis of Presentation and Significant Accounting Policies</i>).</p></ix:continuation><a id="_3006d498_2b61_424f_b422_c31c7c4f3037"></a><a id="Item9ChangesinandDisagreementswithAccoun"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;9.&#160;&#160;&#160;&#160;&#160;&#160;&#160;Changes in and Disagreements with Accountants on Accounting and Financial Disclosure.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">None.</p><a id="_3b08c178_4858_4ae2_b2da_b670ba33e831"></a><a id="Item9AControlsandProcedures_281017"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;9A.&#160;&#160;&#160;&#160;Controls and Procedures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Evaluation of Disclosure Controls and Procedures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Disclosure controls and procedures (as defined in Rules&#160;13a-15(e)&#160;and 15d-15(e)&#160;under the Exchange Act) are controls and procedures that are designed to ensure that the information required to be disclosed in our reports filed or submitted under the Exchange Act, is recorded, processed, summarized, and reported within the time periods specified in the SEC&#8217;s rules&#160;and forms, and includes controls and procedures designed to ensure that such information is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate to allow timely decisions regarding required disclosure.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of the end of the period covered by this report, an evaluation was carried out, under the supervision and with the participation of management, including our Chief Executive Officer and Chief Financial Officer, of the effectiveness of our disclosure controls and procedures. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that, as of March&#160;31, 2024, our disclosure controls and procedures were not effective due to the material weaknesses in our internal control over financial reporting described below.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">63</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Management&#8217;s Responsibility for Internal Controls</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s internal control over financial reporting is designed under the supervision of our Chief Executive Officer and Chief Financial Officer, and effected by our board of directors, management, and other personnel, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with U.S. generally accepted accounting principles, or U.S. GAAP. The Company&#8217;s internal control over financial reporting includes those policies and procedures that: (i)&#160;pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the Company&#8217;s assets; (ii)&#160;provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with U.S. GAAP, and that the Company&#8217;s receipts and expenditures are being made only in accordance with authorizations of the Company&#8217;s management and directors; and (iii)&#160;provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the Company&#8217;s assets that could have a material effect on the financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Inherent Limitations Over Internal Controls</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Management, including the Chief Executive Officer and Chief Financial Officer, does not expect that the Company&#8217;s internal controls will prevent or detect all errors and all fraud. A control system, no matter how well designed and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Further, the design of a control system must reflect the fact that there are resource constraints, and the benefits of controls must be considered relative to their costs. Because of the inherent limitations in all control systems, no evaluation of internal controls can provide absolute assurance that all control issues and instances of fraud, if any, have been detected. Also, any evaluation of the effectiveness of controls in future periods is subject to the risk that those internal controls may become inadequate because of changes in business conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Management&#8217;s Report of Internal Control over Financial Reporting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Management is responsible for establishing and maintaining adequate internal control over financial reporting, as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act. Under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, we conducted an evaluation of the effectiveness of our internal control over financial reporting as of March 31, 2024, based on the 2013 framework established by the Committee of Sponsoring Organizations of the Treadway Commission in <i style="font-style:italic;">Internal Control - Integrated Framework</i>. Based on that assessment, management concluded that, the Company&#8217;s internal control over financial reporting was not effective as of March 31, 2024, due to the material weaknesses described below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Material Weaknesses</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We identified three material weaknesses in our internal control over financial reporting as of March 31, 2024. A material weakness is a deficiency, or a combination of deficiencies, in internal control over financial reporting such that there is a reasonable possibility that a material misstatement of the annual or interim financial statements will not be prevented or detected on a timely basis. In connection with the preparation of our financial statements for this Annual Report on Form 10-K, management identified the following material weaknesses:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><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;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Purchase accounting -</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> we did not maintain proper controls, processes and procedures over the initial purchase accounting and the fair value accounting associated with our acquisition of Stadco in the fiscal year ended March 31, 2022 that were adequately designed, documented, and executed to support the accurate and timely reporting of our financial results regarding the initial purchase accounting and the fair value accounting associated with the Stadco acquisition.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><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;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Tax accounting - </i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">in fiscal 2023 and fiscal 2024 we did not maintain a sufficient complement of tax accounting personnel necessary to perform management review controls related to activities for extracting information to determine the valuation allowance at Stadco on a timely basis. These conditions led to certain omissions in the assessment of the valuation allowance during the third and fourth quarter of fiscal 2024. Because of this material weakness in fiscal 2023, we made a late or post-closing adjustment to our valuation allowance while preparing the consolidated financial statements and footnotes included in this Annual Report on Form 10-K.</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">64</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><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;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Stadco accounting - </i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">we did not maintain a sufficient complement of resources and expertise on the Stadco accounting staff necessary to consistently perform management review controls over financial information and complete account reconciliations on a timely basis, to ensure all transactions are accurately captured and recorded prior to closing the books. The demand on our accounting resources is significant due to the manual nature of controls necessary to maintain effective control over Stadco&#8217;s legacy system. As a result of this material weakness, we made several post-closing adjustments for percentage-of-completion (POC) revenue projects. The adjustment corrected inputs for project revenues and costs in progress at Stadco, as the initial and correcting journal entries were not reconciled and posted in a timely manner during the year end reporting cycle. Because of the foregoing reasons, extra time was required to complete certain items with respect to the financial statement preparation, closing and review process for the year ended March 31, 2024.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Notwithstanding the material weaknesses, management believes the consolidated financial statements included in this Annual Report on Form 10-K present fairly, in all material respects, the Company&#8217;s financial condition, results of operations and cash flows as of and for the periods presented in accordance with U.S. GAAP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Remediation of the Material Weaknesses</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:normal;">For the fiscal year ended March 31, 2024, we reviewed our entity level controls, staffing requirements and the cost/benefit for remediating our material weaknesses.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In fiscal 2024, our management, with the oversight of our audit committee, executed a plan to take measures to begin remediating the underlying causes of the material weaknesses through the development and implementation of a thorough review of our procedures, policies, processes, and review controls to gain additional assurance regarding the remediation our tax accounting, acquisition accounting procedures, and accounting closing cycle time at Stadco: </p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><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;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Purchase accounting -</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> The Company enhanced its working framework with a memorandum that depicts a clear, explicit roadmap for the purchase accounting guidance at every step. We will follow that roadmap and will implement new controls in fiscal 2025. We engaged a third-party specialist in July 2023 with the requisite knowledge to perform all required valuations and accounting for business combinations. That specialist worked with the Company on all the pre-acquisition activities, or due diligence, in connection with the Votaw acquisition. The third-party specialist was hired primarily to assure that certain accounting issues that arose in the Stadco acquisition would not re-occur with the purchase accounting for the acquisition of Votaw.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><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;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Tax accounting -</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> Management&#8217;s plan required that it utilize a tax specialist with the requisite knowledge and resources to perform the required basic and detailed tax calculations so that all the parties can make a timely assessment of the Company&#8217;s tax provision. The Company engaged a new tax specialist in July 2023, and that tax specialist now prepares our interim and annual tax provisions. We will implement new controls in fiscal 2025 to ensure a timely quarterly review of our deferred tax assets and liabilities and valuation allowance requirements as we facilitate remediation of the material weakness.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><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;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Stadco accounting - </i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">For the fiscal year ended March 31, 2024, we reviewed our entity level controls, staffing requirements and the cost/benefit for upgrading our legacy systems and accounting staff at Stadco. As a result of this review, we are transitioning accounting function to the office of the Chief Financial Officer in Massachusetts, where expert and experienced personnel are in-place to execute a plan to 1)&#160;improve the effectiveness and efficiency of the accounting operation, ensuring a timely closing cycle, 2)&#160;improve the reliability of financial reporting, and 3)&#160;continued compliance with generally accepted accounting principles and applicable laws and regulations. We began to implement these measures during fiscal 2024 and we will monitor progress during fiscal 2025 as we facilitate remediation of the material weakness.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Management believes that the above actions continue the process of remediation for the material weakness as disclosed in our Annual Report on Form 10-K for the fiscal year ended March 31, 2024. The material weaknesses will not be considered remediated, however, until the applicable controls operate for a sufficient period and management has concluded, through testing, that these controls are operating effectively. We can provide no assurance as to when the remediation of these material weaknesses will be completed to provide for an effective control environment.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">65</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have identified and will continue to strengthen our internal control over financial reporting. We are committed to continually improving our internal control process and will diligently review our financial reporting controls and procedures. As we continue to evaluate and work to improve our internal control over financial reporting, we may decide that additional measures are necessary to address control deficiencies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Changes in Internal Control<span style="font-style:normal;"> </span>over Financial Reporting</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Except for our remediation efforts described above, there have been no changes in our internal control over financial reporting during the fiscal year ended March 31, 2024 that have materially affected or are reasonably likely to affect, our internal control over financial reporting.</p><a id="_9b6e4340_137d_44fb_bb53_877d18af9e68"></a><a id="Item9BOtherInformation_253638"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;9B.&#160;&#160;&#160;&#160;Other Information.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">During the fiscal quarter ended March 31, 2024, none of our directors or officers <ix:nonNumeric contextRef="Duration_1_1_2024_To_3_31_2024_Edx8lG7umEyWFpd0LZSf2g" format="ixt:booleanfalse" name="ecd:NonRule10b51ArrAdoptedFlag" id="Narr_UJ0hbqNpvk25_cBy3Qen4w"><ix:nonNumeric contextRef="Duration_1_1_2024_To_3_31_2024_Edx8lG7umEyWFpd0LZSf2g" format="ixt:booleanfalse" name="ecd:Rule10b51ArrAdoptedFlag" id="Narr_6X-KZ2FL5Uu01PNwTa9vMg">adopted</ix:nonNumeric></ix:nonNumeric> or <ix:nonNumeric contextRef="Duration_1_1_2024_To_3_31_2024_Edx8lG7umEyWFpd0LZSf2g" format="ixt:booleanfalse" name="ecd:NonRule10b51ArrTrmntdFlag" id="Narr_bD2LnT52l0u0tN8rFk6HUQ"><ix:nonNumeric contextRef="Duration_1_1_2024_To_3_31_2024_Edx8lG7umEyWFpd0LZSf2g" format="ixt:booleanfalse" name="ecd:Rule10b51ArrTrmntdFlag" id="Narr_aRfss1emP0uScipYVprZpw">terminated</ix:nonNumeric></ix:nonNumeric> a &#8220;Rule 10b5-1 trading arrangement&#8221; or a &#8220;non-Rule 10b5-1 trading arrangement,&#8221; as those terms are defined in Item 408 of Regulation S-K.</p><a id="_d88c84d3_e987_41cf_8d88_8a5644369726"></a><a id="Item9CDisclosureRegardingForeignJurisdic"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Item 9C.&#160;&#160;&#160;&#160;&#160;Disclosure Regarding Foreign Jurisdictions that Prevent Inspection.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Not Applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;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;text-align:center;margin:24pt 0pt 0pt 0pt;">66</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="_2ea50b17_12cf_45aa_81c9_36f96f98aa83"></a><a id="PARTIII_411262"></a><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;">PART&#160;III</b></p><a id="Item10DirectorsExecutiveOfficersandCorpo"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;10.&#160;&#160;&#160;&#160;Directors, Executive Officers and Corporate Governance</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;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:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Directors of the Registrant.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 18pt;">Information about our board of directors is provided below. Messrs. Crisafulli, Levy, McGowan and Schenker currently serve on our board of directors. There are no family relationships between or among any director or executive officer of the Company.</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:58.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%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:32.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%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Age</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Position</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.7%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="letter-spacing:0.2pt;">Richard S. McGowan</span><sup style="font-size:7.5pt;letter-spacing:0.15pt;line-height:100%;top:0pt;vertical-align:top;">(1)(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="letter-spacing:0.2pt;">70</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.44%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="letter-spacing:0.2pt;">Chair of the Board</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="letter-spacing:0.2pt;">Robert A. Crisafulli</span><sup style="font-size:7.5pt;letter-spacing:0.15pt;line-height:100%;top:0pt;vertical-align:top;">(1)(2)(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="letter-spacing:0.2pt;">70</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="letter-spacing:0.2pt;">Director</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="letter-spacing:0.2pt;">Andrew A. Levy</span><sup style="font-size:7.5pt;letter-spacing:0.15pt;line-height:100%;top:0pt;vertical-align:top;">(2)(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="letter-spacing:0.2pt;">77</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="letter-spacing:0.2pt;">Director</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="letter-spacing:0.2pt;">Walter M. Schenker</span><sup style="font-size:7.5pt;letter-spacing:0.15pt;line-height:100%;top:0pt;vertical-align:top;">(1)(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="letter-spacing:0.2pt;">77</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="letter-spacing:0.2pt;">Director</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="letter-spacing:0.2pt;">Alexander Shen</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="letter-spacing:0.2pt;">62</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="letter-spacing:0.2pt;">Director; Chief Executive Officer</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">(l) Member of the Audit Committee.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">(2) Member of the Compensation Committee.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">(3) Member of the Nominating and Corporate Governance Committee</i>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Richard S. McGowan</b> has been a member of our board of directors since December 2016 and serves as the Chair of the board of directors. Mr. McGowan&#8217;s principal occupation since 2008 has been private investor. From June 2014 until July 2016, Mr. McGowan served on the board of directors of Cleveland Biolabs, Inc., a publicly traded biopharmaceutical company focused on the immune system, serving as chair of its board from April 2015 to July 2016, chair of its compensation committee from 2014 until 2016, and on its audit and nominating and governance committees from 2015 until 2016. From 1995 to 2009, Mr. McGowan served as Of Counsel to Weitz &amp; Luxenberg, P.C., a national law firm from 2000 to 2008, Mr. McGowan was a partner and President of SFB Holdings, a private investment company that sought to purchase and tum around sub-producing micro-cap companies. Mr. McGowan holds a B.A. in History from the State University of New York at Stony Brook and a J.D. from Boston University School of Law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Mr. McGowan s extensive investment experience, and in particular his focus on growing the business of microcap companies, is an asset as we look to execute on our strategies to grow our business.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Robert A. Crisafulli</b> has been a member of our board of directors since December 2016. Since December 2007, Mr. Crisafulli has served as Executive Vice President, Tax, at Aircastle Limited, a privately held international aircraft leasing company. From January 2007 to December 2007, Mr. Crisafulli served as Vice President of Finance, Tax and Treasurer of InfoNXX, Inc., a privately held international telecommunications company. From 2005 to 2006, Mr. Crisafulli served as Vice President of Tax of PanAmSat, a publicly traded international telecommunications company. From 2001 to 2005, Mr. Crisafulli served as Managing Director of Bridge East Capital, an international private equity and financial advisory firm. From 1999 to 2000, Mr. Crisafulli served as Senior Vice President, Chief Financial Officer, Treasurer of Mosler Inc., a physical and electronic security firm. From 1998 to 1999, Mr. Crisafulli was Partner - Mergers and Acquisitions Practice at KPMG LLP. Mr. Crisafulli is a certified public accountant and holds a B.B.A. in accounting from Adelphi University and an M.B.A. in Taxation from St. John&#8217;s University.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Mr.&#160;Crisafulli&#8217;s significant background in the areas of tax and finance, including with public companies, and his experience as a certified public accountant, enables him to provide our board of directors with additional insight into finance and accounting matters.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Andrew A. Levy&#160;</b>has been a member of our board of directors since March&#160;2009. Since 1978, Mr.&#160;Levy has served as Chief Executive Officer of Redstone Capital, an investment banking firm. Mr.&#160;Levy was appointed Chief Executive Officer of Esco Marine, Inc., a ship-recycling company, in April&#160;2014, to reorganize the company. Esco Marine, Inc. filed for protection under Chapter 11 of the U. S. Bankruptcy Code in March&#160;2015, which proceedings were dismissed in April&#160;2018. Mr.&#160;Levy has been a director of Esco from January&#160;2004 to present. Esco Marine, Inc. is not a company with securities registered under Section&#160;12 of the Exchange Act or required to file reports under Section&#160;15(d) of the Exchange Act. Mr.&#160;Levy holds a B.S. in Engineering from Yale University and a J.D. from Harvard Law School.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">67</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Mr.&#160;Levy combines an engineering background that enables him to understand the operational aspects of our business with an investment banking background, which qualifies him to engage in assessments of our financial health and the execution of our growth strategies.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Walter M. Schenker&#160;</b>has been a member of our board of directors since December&#160;2016. Since June&#160;2010, Mr.&#160;Schenker has served as General Partner and Portfolio Manager at MAZ Capital Advisors, an investment partnership, where his responsibilities include, among things, managing the firm&#8217;s portfolio of investments. From 1999 to 2010, Mr.&#160;Schenker was a Principal at Titan Capital Management, LLC, a registered investment adviser and hedge fund. On April&#160;4, 2019, Mr.&#160;Schenker became a director of Andina Acquisition Corporation III, a Nasdaq-listed blank check company. Mr.&#160;Schenker previously served on the board of directors and audit committee of Sevcon, Inc., a Nasdaq-listed global supplier of control and power solutions for zero-emission, electric and hybrid vehicles, from 2013 until that company&#8217;s acquisition in September&#160;2017. Mr.&#160;Schenker holds a B.S. from Cornell University and an M.B.A. in Finance from Columbia University.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Mr.&#160;Schenker&#8217;s previous experience serving on the board of directors of a publicly traded company and his vast experience investing in both public and private companies enables him to provide our board of directors with insight into how to best manage the Company and execute our growth strategy.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Alexander Shen</b>&#160;was appointed Chief Executive Officer of TechPrecision on November&#160;14, 2014 and became a director on our board of directors on September&#160;15, 2022. Since June&#160;2014, Mr.&#160;Shen has served as President of our Ranor subsidiary, and he also served as president of our WCMC subsidiary. Mr.&#160;Shen has experience in a broad range of industries including metal fabrication, automotive, contract manufacturing, safety and security, and industrial distribution. Prior to joining us, Mr.&#160;Shen served in 2013 as President of SIB Development and Consulting, a firm specializing in fixed, monthly cost reduction. Mr.&#160;Shen served as President of Tydenbrooks Security Products Group, a security products company, from July&#160;2011 to December&#160;2012. Mr.&#160;Shen served as President and Chief Executive Officer of Burgon Tool Steel Company between January&#160;2009 and June&#160;2011 and served as Chief Executive Officer of Ryerson Mexico &amp; Vice President&#8201;&#8212;&#8201;International for Ryerson, Inc., a multi-national distributor and processor of metals, from 2007 to 2009. Mr.&#160;Shen was Division General Manager &amp; Chief Operating Officer at Sumitomo Electric Group from 1998 to 2007, focused on automotive electrical and electronic products. Prior to 1998, he had a 10-year career at the Automotive Division of Alcoa Inc. with roles of increasing responsibility. Mr.&#160;Shen began his career with General Motors, moving to Chrysler, before joining Alcoa Inc. His career includes multiple international management roles in Japan, China, Mexico, and Europe, and he is fluent in the Chinese and Japanese languages and cultures. Mr.&#160;Shen holds a B.S. in Engineering from Michigan State University.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Mr.&#160;Shen&#8217;s long experience in manufacturing and his current role as Chief Executive Officer of the Company led to the board&#8217;s decision that he should serve on the board of directors.</i></p><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">b)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">Executive Officers of the Registrant.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 18pt;">Information with respect to executive officers of the Company is set forth under <i style="font-style:italic;">&#8220;Item 4A Executive Officers of the Registrant&#8221;</i> in this Annual Report on Form 10-K.</p><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">c)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">Identification of the Audit Committee.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 18pt;">The members of the Audit Committee are Mr. Crisafulli (Chair), Mr. McGowan and Mr. Schenker. Our board of directors has determined that Messrs. Crisafulli, McGowan and Schenker each satisfy the independence standards for the Audit Committee established by the applicable rules and regulations of the SEC and Nasdaq. The primary purpose of the Audit Committee is to oversee the quality and integrity of our accounting and financial reporting processes and the audit of our financial statements. The Audit Committee is responsible for selecting, compensating, overseeing and terminating our independent registered public accounting firm. The Audit Committee charter is posted and can be viewed in the &#8220;Corporate Governance&#8221; section of our website at www.techprecision.com.</p><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">d)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">Audit Committee Financial Expert.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 18pt;">Our board of directors has determined that Mr. Crisafulli, who is the Chair of the Audit Committee, is an &#8220;audit committee financial expert&#8221; as that term is defined under the applicable rules and regulations of the SEC.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">68</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">e)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">Shareholder Nomination Process.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 18pt;">There have been no material changes to the procedures by which stockholders may recommend nominees to our board of directors.</p><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">f)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">Code of Ethics for Chief Executive Officer and Senior Financial Officers.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 18pt;">The Company has adopted a Code of Ethics for the principal executive officer, principal financial officer and principal accounting officer of the Company, which may be found on the Company&#8217;s website at www.techprecision.com. Any amendments to the Code of Ethics or any grant of a waiver from the provisions of the Code of Ethics requiring disclosure under applicable SEC rules will be disclosed on the Company&#8217;s website.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Board Diversity</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The matrix below as required by Nasdaq rules sets forth the self-identified gender identity and demographic diversity attributes of each of our directors, and the brief biographical description of the directors set forth above under the heading &#8220;&#8212;&#160;<i style="font-style:italic;">Directors/Nominees</i>&#8221; includes the primary individual experience, qualifications, attributes, and skills of each of our directors that led to the conclusion that each director should serve as a member of our board of directors at this time.</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;">Board Diversity Matrix (as of August&#160;1, 2024)</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:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total&#160;Number&#160;of&#160;Directors</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 5</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;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:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:76.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;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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:76.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Female</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Male</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Part I: Gender Identity</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;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:bottom;white-space:nowrap;width:9.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;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:bottom;white-space:nowrap;width:9.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:76.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Directors</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.41%;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:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Part II: Demographic Background</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;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:bottom;white-space:nowrap;width:9.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;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:bottom;white-space:nowrap;width:9.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:76.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">White</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.41%;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:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Asian</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;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:bottom;white-space:nowrap;width:9.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.41%;background:#cceeff;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:bottom;white-space:nowrap;width:9.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_236d042d_9457_42dd_8628_8c15ab689ba8"></a><a id="Item11ExecutiveCompensation_112407"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Item&#160;11.&#160;&#160;&#160;&#160;Executive Compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On February&#160;23, 2023, the Company effected a 4-for-1 reverse stock split of its issued and outstanding shares of Common Stock. As a result of the reverse split, each four pre-split shares of Common Stock outstanding automatically combined into one new share of Common Stock. Share amounts and prices disclosed in this annual report have been restated, as required, to reflect the reverse stock split as if it had occurred on April&#160;1, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Summary Compensation Table</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has determined that it only had three executive officers during the course of the 2024 fiscal year, based on relevant SEC rules. Accordingly, set forth below is information for the fiscal years indicated relating to the compensation of (i) Alexander Shen, our principal executive officer, who also serves as the President of Ranor, Inc., a wholly owned subsidiary of the Company, (ii) Thomas Sammons, our most highly compensated executive officer other than the principal executive officer who was serving as a chief financial officer until his retirement effective July 14, 2023, and (iii) Barbara Lilley, who served as our chief financial officer effective July 17, 2023. Together, such individuals are referred to as our Named Executive Officers.</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%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:26.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.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;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;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.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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;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.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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;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.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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;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.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;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.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;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.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;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;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.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;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;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.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:26.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fiscal</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:4.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Option</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:11.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">All&#160;Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Name and Position</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:4.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Salary</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:5.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Bonus</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Awards</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Awards</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Compensation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total($)</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Alexander Shen,</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;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:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 301,154</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;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: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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;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: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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,086</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 304,740</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Chief Executive Officer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 294,231</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;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:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,263</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 297,994</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Thomas Sammons,</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;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:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 235,904</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;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: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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;background:#cceeff;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: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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;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: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;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:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 236,404</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Chief Financial Officer<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 121,191</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;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:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 108,149</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 79,500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 71,184</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 380,024</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Barbara Lilley,</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;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:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;background:#cceeff;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: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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;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: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;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:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Chief Financial Officer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 138,462</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;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:bottom;white-space:nowrap;width:9.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 138,962</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;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;margin-bottom:0pt;margin-top:0pt;text-align:justify;">(1)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">There were no option awards granted during fiscal 2024</p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">69</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><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;margin-bottom:0pt;margin-top:0pt;text-align:justify;">(2)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">Represents the aggregate grant date fair value of restricted stock awards computed in accordance with ASC Topic 718. On January 2, 2024, the Company granted 15,000 shares of common stock pursuant to the 2016 Plan to Thomas Sammons, the Company&#8217;s former CFO in connection with his consulting services agreement, which shares were fully vested on the grant date. The stock award for $79,500 represents the fair value on the date of grant.</p></td></tr></table><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;margin-bottom:0pt;margin-top:0pt;text-align:justify;">(3)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">On July 17, 2023, Barbara Lilley signed an employment agreement to serve as CFO following Thomas Sammons retirement from the Company, effective July 14, 2023.</p></td></tr></table><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(4)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">All other compensation for Mr. Sammons included compensation under his consulting agreement.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Outstanding Equity Awards at Fiscal Year-End Table</i></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%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.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;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.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;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.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.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;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.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:53.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Option&#160;Awards</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:18.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Securities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Securities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:18.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Underlying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Underlying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:18.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unexercised</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unexercised</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Option</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:18.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Option</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options&#160;(#)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options&#160;(#)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:18.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expiration</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercisable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unexercisable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:18.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Alexander Shen<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:1.85%;background:#cceeff;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:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 192,500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;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:bottom;white-space:nowrap;width:11.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.32</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August 11, 2025</p></td></tr><tr><td style="vertical-align:bottom;width:44.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Alexander Shen<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 250,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.00</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">December 26, 2026</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:3pt;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:10pt;font-style:italic;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;">Subject to Mr.&#160;Shen&#8217;s continuous employment with the Company through the applicable vesting date, options granted to Mr.&#160;Shen on August&#160;12, 2015 vested in three equal annual installments with the first installment vesting on the grant date and the remaining installments vesting on each of the first and second anniversary of the grant date.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:3pt;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:10pt;font-style:italic;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;">Two-thirds of the options granted to Mr.&#160;Shen on December&#160;27, 2016 were vested on the grant date. Subject to Mr.&#160;Shen&#8217;s continuous employment with the Company through the vesting date, the remaining 83,334 options vested on the first anniversary of the grant date.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;font-style:italic;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;">On July 13, 2023, Thomas Sammons exercised an option to purchase 125,000 shares of the Company&#8217;s common stock pursuant to option awards previously granted. The option was exercised as a cashless net settlement transaction and resulted in the delivery of 109,024 shares of common stock. Following this exercise, Mr. Sammons has no outstanding equity awards.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Employment Agreements</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of March&#160;31, 2024, we had employment agreements with each of our Named Executive Officers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Alexander Shen Employment Agreement</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We executed an employment agreement with Mr.&#160;Shen on November&#160;17, 2014 (the &#8220;<i style="font-style:italic;">CEO Employment Agreement</i>&#8221;) to engage Mr.&#160;Shen for the position of Chief Executive Officer. The terms of the CEO Employment Agreement provide that Mr.&#160;Shen will report directly to our board of directors and others at the direction of the board at such time and in such detail as the board shall reasonably require and his duties and responsibilities shall consist of such powers, duties and responsibilities as are customary for the office of Chief Executive Officer of a company similar in size and stature to the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Pursuant to the CEO Employment Agreement, Mr.&#160;Shen receives an annual base salary of $300,000, increased by the board of directors from $275,000, which may be increased from time to time by the board of directors, and was awarded a one-time grant of options to purchase 250,000 shares of our Common Stock, which vested in three equal amounts on the date of grant and each of the subsequent two anniversaries of the date of grant. The exercise price of the options is equal to the closing market price as of the grant date. Mr.&#160;Shen is also eligible for an annual cash performance bonus based upon our financial performance as determined by our board of directors and targeted at up to 75% of Mr.&#160;Shen&#8217;s annual base salary, which target was increased by the board of directors from 60%. Mr.&#160;Shen is entitled to participate fully in our employee benefit plans and programs and is entitled to four weeks of vacation per year. Mr.&#160;Shen will also be reimbursed for reasonable and necessary out-of-pocket expenses incurred by him in the performance of his duties and responsibilities as Chief Executive Officer. Under the terms of the CEO Employment Agreement, and in connection with his relocation to Westminster, Massachusetts, Mr.&#160;Shen was also entitled to assistance with temporary living arrangements and a relocation allowance of $35,000 at the time of his relocation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Pursuant to the terms of the CEO Employment Agreement and subject to Mr.&#160;Shen&#8217;s execution of a release of claims in favor of the Company, in the event we terminate Mr.&#160;Shen&#8217;s employment without &#8220;cause&#8221; (as defined below) or Mr.&#160;Shen resigns his employment for &#8220;good reason&#8221; (as defined below) at any time during the six-month period following a change in control, he will be entitled to receive </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">70</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">continuation of his base salary for twelve&#160;months following termination of his employment, payable under the Company&#8217;s normal payroll practices. We may terminate the CEO Employment Agreement for cause upon seven days written notice, during which period Mr.&#160;Shen may contest his termination before our board of directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In general, &#8220;cause&#8221; is defined as: (i)&#160;Mr.&#160;Shen&#8217;s refusal to perform material duties and responsibilities or follow legal and reasonable directive of the board of directors, (ii)&#160;the willful misappropriation of Company funds or property, (iii)&#160;any willful or intentional act which he should have reasonably anticipated would reasonably be expected to materially damage the Company&#8217;s reputation, business and/or relationships, (iv)&#160;excessive use of alcohol or use of illegal drugs, or (v)&#160;any material breach of the CEO Employment Agreement. Mr.&#160;Shen is also subject to a covenant not to compete with us for a period of 12&#160;months following termination of the CEO Employment Agreement. In general, &#8220;good reason&#8221; is defined as: (A)&#160;a material adverse change in the duties, responsibilities or effective authority associated with his position, or (B)&#160;a material reduction by the Company of Mr.&#160;Shen&#8217;s base salary, each after Mr.&#160;Shen has given the Company written notice and the Company has failed to cure such act within 30&#160;days following receipt of such notice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In addition to the compensation and severance arrangements described above, the CEO Employment Agreement contains customary provisions (i)&#160;prohibiting Mr.&#160;Shen from divulging to third parties or using confidential information or trade secrets of the Company; (ii)&#160;confirming that all intellectual work products generated by Mr.&#160;Shen during the term of his employment with the Company are the sole property of the Company; and (iii)&#160;prohibiting Mr.&#160;Shen from competing against the Company, including by soliciting the Company&#8217;s employees or its current or prospective clients, until the one year anniversary of the termination of his employment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Barbara M. Lilley Employment Agreement</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On July 17, 2023, we entered into an Employment Agreement with Barbara M. Lilley (the &#8220;<i style="font-style:italic;">Lilley Employment Agreement</i>&#8221;), which became effective as of July 14, 2023, (the &#8220;Effective Date) and governs Ms.&#160;Lilley&#8217;s employment as our Chief Financial Officer. Pursuant to the Lilley Employment Agreement, Ms.&#160;Lilley: (i)&#160;receives an annual base salary of $200,000, (ii)&#160;received an award of restricted stock of 15,000 shares of our Common Stock pursuant to the TechPrecision Corporation 2016 Long-Term Incentive Plan, as amended (the &#8220;<i style="font-style:italic;">2016&#160;Plan</i>&#8221;), at fair market value measured on the grant date which provided that the Employee remains employed by the Company from the Effective Date through the applicable vesting dates, 5,000 of the Restricted Shares shall vest on each of the first, second, and third anniversaries of the Effective Date; provided that in the event of a Change in Control (as defined in the Plan) while the Employee is employed by the Company, all outstanding, unvested Restricted Shares shall become fully vested on the effective date of such Change in Control, subject to the terms and conditions of the Plan. For the avoidance of doubt, none of the Restricted Shares will vest following the end of the Employee&#8217;s employment with the Company. Any additional future grants will be as the Compensation Committee or the full Board shall in its sole discretion institute.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">If the CFO&#8217;s employment with the Company ceases for any reason, then the Company&#8217;s obligation to the Employee will be limited solely to the payment of accrued and unpaid base salary, and PTO, through the date of such cessation of employment, subject to appropriate offsets (as permitted by applicable law) for debts or money due to the Company, including without limitation personal loans to the Employee and travel advances. All compensation and benefits will cease at the time of such cessation of employment and, except as otherwise provided by COBRA, the Company will have no further liability or obligation by reason of such termination. The foregoing will not be construed to limit the Executive&#8217;s right to payment or reimbursement for claims incurred prior to the date of such termination under any insurance contract funding an employee benefit plan, policy or arrangement of the Company in accordance with the terms of such insurance contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The CFO&#8217;s obligations shall cease to be in effect in the event that the Company terminates the Employee&#8217;s employment with the Company for a reason other than Cause. For purposes of this clause, &#8220;Cause&#8221; shall mean: (i) the Employee&#8217;s failure or refusal to perform Employee&#8217;s material duties and responsibilities or Employee&#8217;s repeated failure or refusal to follow lawful and reasonable directives of the Board or the CEO; (ii) the willful misappropriation by Employee of the funds, business opportunities, or property of the Company or its affiliates; (iii) the commission by the Employee of any willful or intentional act, which Employee should reasonably have anticipated would reasonably be expected to have the effect of injuring the reputation, business or business relationships of the Company or its affiliates; (iv) use of alcohol to excess or illegal drugs, continuing after written warning from the Board; or (v) any breach by the Employee of any written agreement with the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In addition to the compensation and severance arrangements described above, the Lilley Employment Agreement contains customary provisions (i)&#160;prohibiting Ms.&#160;Lilley from divulging to third parties or using confidential information or trade secrets of the Company; (ii)&#160;confirming that all intellectual work products generated by Ms.&#160;Lilley during the term of her employment with the Company are the sole property of the Company; and (iii)&#160;prohibiting Ms.&#160;Lilley from competing against the Company, including by soliciting the Company&#8217;s employees or its current or prospective clients, until the one year anniversary of the termination of his employment.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">71</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Thomas Sammons Service Agreement</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Effective July&#160;14, 2023, Mr.&#160;Sammons retired from service as Chief Financial Officer of the Company. He is continuing to serve the Company as a non-executive employee, which he and the Company expect will continue for a limited period of time, to assist with transition efforts. Thereafter, the Company expects that it may enter into a consultancy agreement with Mr.&#160;Sammons under which he will agree to provide consulting services to the Company as an independent contractor, primarily to continue ensuring an orderly transition of his former duties to the new chief financial officer. His services are being provided on an as-needed basis following his retirement date, and as compensation for such services, he is being paid an hourly rate and may also be awarded a fixed number of shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">2016 Long-Term Incentive Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The purposes of the 2016 Plan are to: (a)&#160;enable the Company and its affiliated companies to recruit and retain highly qualified employees, directors and consultants; (b)&#160;provide those employees, directors and consultants with an incentive for productivity; and (c)&#160;provide those employees, directors and consultants with an opportunity to share in the growth and value of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Employees, directors, consultants and other individuals who provide services to the Company or its affiliates are eligible to be granted awards under the 2016 Plan; provided, however, that only employees of the Company or any parent company or subsidiary of the Company are eligible to be granted incentive stock options.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of March&#160;31, 2024, approximately 162 employees and four non-employee directors are eligible to participate in the 2016 Plan, and there were outstanding options granted under the 2016 Plan to purchase 542,500 shares of our Common Stock with a weighted-average exercise price of $1.53. This amount included options to purchase 442,500 shares of our Common Stock issued to our executive officers. As of March&#160;31, 2024, the closing price of our Common Stock was $3.61 per share.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Additional Retirement Benefits</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">During fiscal 2024, our chief executive officer and chief financial officer each participated in our qualified 401(k) plan that provides participants the opportunity to defer taxation on a portion of their income, up to limits set forth in the Internal Revenue Code and receive a matching Company contribution.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Compensation Policies and Practices and Risk Management</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">One of the responsibilities of our board of directors, in its role in setting executive compensation and overseeing our various compensation programs, is to ensure that our compensation programs are structured so as to discourage inappropriate risk-taking. We believe that our existing compensation practices and policies for all employees, including executive officers, mitigate against this risk by, among other things, providing a meaningful portion of total compensation in the form of equity incentives. These equity incentives are awarded with either staggered or cliff vesting over several&#160;years, so as to promote long-term rather than short-term financial performance and to encourage employees to focus on sustained stock price appreciation. In addition, our existing compensation policies attempt to discourage employees from taking excessive risks to achieve individual performance objectives such as annual cash incentive compensation and long-term incentive compensation which are based upon balanced company-wide, business unit and individual performance and base salaries structured so as to be consistent with an employee&#8217;s responsibilities and general market practices. The board of directors, as a whole, is responsible for monitoring our existing compensation practices and policies and investigating applicable enhancements to align our existing practices and policies with avoidance or elimination of risk and the enhancement of long-term stockholder value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Board of Directors Compensation</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Fees and Equity Awards for Non-Employee Directors</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">The fee structure for non-employee directors is as follows:</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%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.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;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.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;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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fee Category</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fees</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Quarterly Retainer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,000</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Audit Committee Chair&#8201;&#8211;&#8201;Annual Retainer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,000</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chair&#8201;&#8211;&#8201;Annual Retainer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,000</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;text-align:center;margin:24pt 0pt 0pt 0pt;">72</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></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;text-align:justify;margin:0pt 0pt 12pt 0pt;">In addition, our board of directors has provided that each non-employee director is eligible for an annual grant of 12,500 options to purchase shares of our Common Stock or 12,500 shares of restricted stock, as determined by the board of directors, under the 2016 TechPrecision Equity Incentive Plan (the &#8220;<span style="font-style:italic;font-weight:bold;">2016 Plan</span>&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Director Compensation Table</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table sets forth compensation paid to each director who served during the year ended March&#160;31, 2024.</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%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.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;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.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;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;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.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;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.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;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.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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;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.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;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.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;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;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.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;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:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fees</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Option</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earned</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:7.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Awards</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Awards</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Andrew Levy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;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:bottom;white-space:nowrap;width:7.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 44,438</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 68,438</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Robert A. Crisafulli</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 29,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 44,438</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 73,438</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Richard S. McGowan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;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:bottom;white-space:nowrap;width:7.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 44,438</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 80,438</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Walter M. Schenker</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 44,438</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 68,438</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(1)</span></span>The members of the board of directors earned all fees for serving on the board of directors during fiscal 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(2)</span></span>There were no option awards granted during fiscal 2023. The number of stock options outstanding as of March&#160;31, 2024 for each director was: Mr.&#160;Levy: 25,000; Mr.&#160;Crisafulli: 25,000; Mr.&#160;McGowan: 25,000; and Mr.&#160;Schenker: 25,000.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(3)</span></span>Represents the aggregate grant date fair value of stock awards computed in accordance with ASC Topic 718. Key assumptions in calculating these amounts are outlined in Note 7 to our Consolidated Financial Statements in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended March&#160;31, 2024. On October&#160;11, 2023, each director then serving on the Company&#8217;s board of directors was granted 6,250 fully vested shares of Common Stock, for a total of 25,000 shares. No director held any unvested shares of restricted stock outstanding as of March&#160;31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PAY VERSUS PERFORMANCE DISCLOSURE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table shows the past two fiscal&#160;years&#8217; total compensation for our named executive officers as set forth in the Summary Compensation Table, the &#8220;compensation actually paid&#8221; to our named executive officers (as determined under SEC rules described in greater detail below), our total shareholder return (&#8220;TSR&#8221;), and our net income.</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%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:15.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;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.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;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;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.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.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;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.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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;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.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;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:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Initial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed&#160;$100</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Summary</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Compensation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Summary</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Compensation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Investment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Compensation&#8201;&#8211;&#8201;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Actually&#160;Paid&#8201;&#8211;&#8201;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Compensation&#8201;&#8211;&#8201;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Actually&#160;Paid&#8201;&#8211;&#8201;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Based&#160;on</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net&#160;Income</b></p></td></tr><tr><td style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PEO</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PEO</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">non-PEO&#160;NEO</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">non-PEO&#160;NEO</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">TSR</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Loss)</b></p></td></tr><tr><td style="vertical-align:bottom;width:15.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 297,994</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 286,054</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 518,986</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 507,046</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (6,343,356)</span></p></td></tr><tr><td style="vertical-align:bottom;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 356,331</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 356,231</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 282,193</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 282,093</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 133</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (349,834)</span></p></td></tr><tr><td style="vertical-align:bottom;width:15.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 304,740</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 312,540</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 236,404</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 244,204</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 139</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (979,006)</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(1)</span></span>The PEO for each year presented was Alexander Shen.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(2)</span></span>The only non-PEO NEO for each of 2022 and 2023 was Thomas Sammons. In 2024, Thomas Sammons and Bobbie Lilley were each a non-PEO NEO.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(3)</span></span>SEC rules require certain adjustments be made to the Summary Compensation Table totals to determine &#8220;compensation actually paid&#8221; as reported in the Pay versus Performance Table. &#8220;Compensation actually paid&#8221; does not necessarily represent cash and/or equity value transferred to the applicable named executive officer without restriction, but rather is a valuation calculated under applicable SEC rules. The following table details applicable adjustments.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">73</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:209.22pt;"><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%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:29.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;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.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;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.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;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.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;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.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;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.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity&#160;Award&#160;Adjustments</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Change</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in&#160;value</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">as of covered </b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Include</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">year-end </b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">year-end</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(compared to </b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Deduct</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">equity</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">prior year-end)</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">value of awards</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of equity</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">awards</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">granted in </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">awards granted </b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">value as </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">covered year </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">prior to covered </b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Summary</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">reported </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and outstanding </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">year and </b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">compensation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in SCT for </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and unvested </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">outstanding and </b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">table&#160;total for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">covered</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">as of covered </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unvested as of </b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">covered year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">year-end</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">covered year-end</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Executive(s)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">($)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:9.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">($)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">($)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">($)</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PEO</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 297,994</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;background:#cceeff;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:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;background:#cceeff;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: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;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-PEO NEO</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 518,986</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (72,500)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36,100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (35,300)</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PEO</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 304,740</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;background:#cceeff;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:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.85%;background:#cceeff;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: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;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,800</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-PEO NEO</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 236,404</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,800</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PEO</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 356,331</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (17,000)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;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:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,900</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;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: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;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (100)</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-PEO NEO</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 282,193</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (17,000)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:bottom;white-space:nowrap;width:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (100)</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Analysis of the Information Presented in the Pay Versus Performance Table</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Compensation Actually Paid and Net Income (Loss)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following chart sets forth the relationship between Compensation Actually Paid to our PEO(s), the average of Compensation Actually Paid to our Non-PEO NEO(s), and the Company&#8217;s net income (loss) over the period covering fiscal&#160;years 2022, 2023 and 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><img src="tpcs-20240331x10k014.jpg" alt="Graphic" style="display:inline-block;height:209.22pt;left:0%;padding-bottom:0pt;position:relative;top:0pt;width:280.46pt;"/></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">PEO and Non-PEO NEO Compensation Actually Paid and Company Total Shareholder Return (&#8220;TSR&#8221;)</i></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">74</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:223.52pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following chart sets forth the relationship between Compensation Actually Paid to our PEO(s), the average of Compensation Actually Paid to our Non-PEO NEO(s), and the Company&#8217;s TSR over the period covering fiscal&#160;years 2022, 2023 and 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><img src="tpcs-20240331x10k015.jpg" alt="Graphic" style="display:inline-block;height:223.47pt;left:0%;padding-bottom:0.05pt;position:relative;top:0pt;width:271.46pt;"/></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">All information provided above under the &#8220;Pay Versus Performance&#8221; heading will not be deemed to be incorporated by reference in any filing of our company under the Securities Act of 1933, as amended, whether made before or after the date hereof and irrespective of any general incorporation language in any such filing.</i></p><a id="_a5dec54f_52de_4fa4_9eab_1fa1330bda3f"></a><a id="Item12SecurityOwnershipofCertainBenefici"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">Item 12.</b></span>&#160;&#160;&#160;&#160;Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">There are no individuals or entities known by TechPrecision (through their Section&#160;13 filings), excluding directors and Named Executive Officers, to own more than 5% of the outstanding Common Stock as of July&#160;25, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table provides information as to shares of our Common Stock beneficially owned, as of July&#160;25, 2024, by:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">each of our current directors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">each Named Executive Officer; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">all current directors and executive officers as a group.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Except as otherwise indicated, each person has the sole power to vote and dispose of all shares of our Common Stock listed opposite his name. Each person is deemed to own beneficially shares of Common Stock that may be acquired upon exercise of stock options if they are vested and exercisable within 60&#160;days of the measurement date, July&#160;25, 2024. As of July&#160;25, 2024, there were 9,097,432 shares of our Common Stock outstanding. All share figures in the table below give effect to the 4-for-1 reverse stock split that became effective February&#160;23, 2023.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">75</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></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;text-align:justify;margin:0pt 0pt 12pt 0pt;">Except as otherwise indicated, the address of each person listed below is c/o&#160;TechPrecision Corp., 1&#160;Bella Drive, Westminster, MA 01473.</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:70.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;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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:15.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares&#160;of&#160;common&#160;stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Robert Crisafulli<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:1.48%;background:#cceeff;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:bottom;white-space:nowrap;width:15.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 62,500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;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:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Andrew A. Levy<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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:bottom;white-space:nowrap;width:15.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 435,223</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4.78</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Richard S. McGowan<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:1.48%;background:#cceeff;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:bottom;white-space:nowrap;width:15.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 66,703</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;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:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Walter M. Schenker<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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:bottom;white-space:nowrap;width:15.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 307,152</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Alexander Shen<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;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:bottom;white-space:nowrap;width:15.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 461,720</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;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:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5.08</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Barbara M. Lilley</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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:bottom;white-space:nowrap;width:15.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">All executive officers and directors as a group (six individuals)(5)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">&#160;</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;white-space:pre-wrap;"> 1,348,298</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">&#160;</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;white-space:pre-wrap;"> 14.82</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">%</i></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">*Percentage of shares beneficially owned does not exceed one&#160;percent of the class.</p><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;margin-bottom:0pt;margin-top:0pt;text-align:justify;">(1)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">Includes 25,000 shares of common stock that may be acquired pursuant to stock options that may be exercised within 60&#160;days of July&#160;25, 2024.</p></td></tr></table><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;margin-bottom:0pt;margin-top:0pt;text-align:justify;">(2)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">Includes 25,000 shares of common stock that may be acquired pursuant to stock options that may be exercised within 60&#160;days of July&#160;25, 2024.</p></td></tr></table><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;margin-bottom:0pt;margin-top:0pt;text-align:justify;">(3)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">According to a Schedule&#160;13D filed by Maz Partners LP (&#8220;<i style="font-style:italic;">MAZ Partners</i>&#8221;), MAZ Capital Advisers, LLC (&#8220;<i style="font-style:italic;">MAZ Capital</i>&#8221;) and Mr.&#160;Schenker on February&#160;13, 2018, MAZ Partners, MAZ Capital and Mr.&#160;Schenker share voting and dispositive power over 300,902 shares of the Company&#8217;s common stock, which are included in this amount. Mr.&#160;Schenker is the sole managing member of MAZ Capital, which is the sole general partner of MAZ Partners. This amount also includes (a)&#160;25,000 shares of common stock that may be acquired pursuant to stock options that may be exercised within 60&#160;days of July&#160;25, 2024 and (b)&#160;14,500 shares of common stock held in an IRA account of Mr.&#160;Schenker over which Mr.&#160;Schenker has sole voting and sole dispositive power.</p></td></tr></table><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;margin-bottom:0pt;margin-top:0pt;text-align:justify;">(4)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">Includes 442,500 shares of common stock that may be acquired pursuant to stock options that may be exercised within 60&#160;days of July&#160;25, 2024.</p></td></tr></table><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(5)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">Includes 542,500 shares of Common Stock issuable upon the exercise of stock options granted to executive officers and/or directors that may be exercised within 60&#160;days of July&#160;25, 2024.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Changes in Control</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">To our knowledge, there are no present arrangements or pledges of the Company&#8217;s securities which may result in a change in control of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Equity Compensation Plan Information</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table summarizes our equity compensation plan information as of March 31, 2024.</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:54.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;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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:54.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of Securities</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining Available</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">for Future Issuance</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of Securities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Under Equity</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">to Be Issued upon</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Compensation Plans</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise Price of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Excluding</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Outstanding Options,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Outstanding Options,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Securities&#160;Reflected in</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Warrants and Rights</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Warrants and Rights</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Column&#160;(a))</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Plan Category</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(a)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(b)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(c)</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equity compensation plans approved by security holders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 542,500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;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:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.53</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">257,500</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_8792a9d8_bfa9_4c82_8ee0_be6d2388de9b"></a><a id="Item13CertainRelationshipsandRelatedTran"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">Item&#160;13.</b></span><b style="font-weight:bold;">&#160;&#160;&#160;&#160;Certain Relationships and Related Transactions, and Director Independence</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Related Party Transaction Policy</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">All transactions with related parties that may present actual, potential or perceived conflicts of interest are subject to approval by the Audit Committee, under the terms of the Audit Committee&#8217;s charter. As part of its review of related party transactions, the Audit Committee generally seeks to obtain evidence regarding whether the terms of the related party transaction are market-based. The Audit Committee relies on such information, in addition to other transaction-specific factors, in its review and approval of related party transactions.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">76</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Related Person Transactions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We are not aware of any transactions, since April&#160;1, 2022, or any proposed transactions, in which the Company was a party, where the amount involved exceeded $120,000 and in which a director, executive officer, holder of more than 5% of our Common Stock, any member of the immediate family of any of the foregoing persons or any other &#8220;related person&#8221; (as defined under the rules of the SEC), had or will have a direct or indirect material interest.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Director Independence</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We evaluate the independence of our directors in accordance with the listing standards of the Nasdaq Stock Market, LLC (&#8220;<i style="font-style:italic;">Nasdaq</i>&#8221;), the national securities exchange on which our common stock trades, and the regulations promulgated by the Securities and Exchange Commission (the &#8220;<span style="font-style:italic;font-weight:bold;">SEC</span>&#8217;). Nasdaq&#8217;s rules require that a majority of the members of a listed company&#8217;s board of directors must qualify as &#8220;independent,&#8221; as affirmatively determined by the board of directors. Under Nasdaq rules, we are required to have a board of directors comprised of a majority of independent directors. Accordingly, after review of all relevant transactions and relationships between each director, or any of his family members, and us, our senior management and our independent registered public accounting firm, our board of directors has determined that the following directors, which comprise a majority of the members of our board of directors, are independent directors within the meaning of the Nasdaq listing standards: Robert A. Crisafulli, Andrew A. Levy, Richard S. McGowan and Walter M. Schenker.</p><a id="_a4c72c89_9e6d_4cf5_b426_f948478c3119"></a><a id="Item14PrincipalAccountantFeesandServices"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">Item&#160;14.</b></span>&#160;&#160;&#160;&#160;Principal Accountant Fees and Services</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following is a summary of fees for professional services rendered by Marcum LLP for the&#160;years ended:</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:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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;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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</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:8pt;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.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Audit Fees</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 502,416</span></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 553,024</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Audit related fees</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tax fees</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;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:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;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:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">All other fees</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 502,416</span></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 553,024</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Audit fees.</i>&#160;&#160;&#160;Audit fees represent fees for professional services performed by Marcum LLP for the audit of our annual financial statements and the review of our quarterly financial statements, as well as services that are normally provided in connection with statutory and regulatory filings or engagements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Audit-related fees.</i>&#160;&#160;&#160;Audit-related fees represent fees for assurance and related services performed by Marcum LLP that are reasonably related to the performance of the audit or review of our financial statements and are traditionally performed by the independent registered public accounting firm. These include services related to consultation with respect to special procedures required to meet certain regulatory requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Tax fees.</i>&#160;&#160;&#160;There were no fees paid to Marcum LLP for tax compliance, tax advice and tax planning services for the fiscal&#160;years ended March&#160;31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">All other fees.</i>&#160;&#160;&#160;There were no other fees paid to Marcum LLP for tax compliance, tax advice and tax planning services for the fiscal years ended March 31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Policy on Audit Committee Pre-Approval of Audit and Permissible Non-Audit Services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Audit Committee&#8217;s policy is to pre-approve all audit and permissible non-audit services provided by the independent registered public accounting firm. These services may include audit services, audit-related services, tax services and other services. The independent registered public accounting firm and our management are required to periodically report to the Audit Committee regarding the extent of services provided by the independent registered public accounting firm in accordance with this pre-approval, and the fees for the services performed to date. The Audit Committee may also pre-approve particular services on a case-by-case basis. All services provided by the independent registered public accounting firm in fiscal 2024 and fiscal 2023 were pre-approved by the Audit Committee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;text-align:center;margin:24pt 0pt 0pt 0pt;">77</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_1d8c9594_50c5_4c4b_86f5_fe52e9c941e9"></a><a id="PartIV_562605"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">Part&#160;IV</p><a id="Item15ExhibitsandFinancialStatementSched"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 9pt 0pt;">Item&#160;15.&#160;&#160;&#160;&#160;Exhibits and Financial Statement Schedules.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 9pt 0pt;">The following documents are filed as part of this report:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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: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;">Financial Statements, included in Part&#160;II, &#8220;</span><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Item&#160;8. Financial Statements and Supplementary Data</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8221;:</span></td></tr></table><div style="margin-top:9pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><a href="#REPORTOFINDEPENDENTREGISTEREDPUBLICACCOU"><span style="font-style:normal;font-weight:normal;">Report of Independent Registered Public Accounting Firm</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><a href="#CONSOLIDATEDBALANCESHEETS_64811"><span style="font-style:normal;font-weight:normal;">Consolidated Balance Sheets as of March&#160;31, 2024 and 2023</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><a href="#CONSOLIDATEDSTATEMENTSOFOPERATIONS_93521"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Operations for the years ended March 31, 2024 and 2023</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><a href="#CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUI"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Stockholders&#8217; Equity for the&#160;years ended March&#160;31, 2024 and 2023</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><a href="#CONSOLIDATEDSTATEMENTSOFCASHFLOWS_811835"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Cash Flows for the&#160;years ended March&#160;31, 2024 and 2023</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 9pt 36pt;"><a href="#NOTESTOCONSOLIDATEDFINANCIALSTATEMENTS_3"><span style="font-style:normal;font-weight:normal;">Notes&#160;to Consolidated Financial Statements</span></a></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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: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;">Financial Statement Schedules:</span></td></tr></table><div style="margin-top:9pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 9pt 36pt;">Financial statement schedules have been omitted because either they are not applicable or the required information is included in the financial statements or the notes thereto.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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: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;">List of Exhibits:</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 36pt;">The following exhibits are filed herewith or are incorporated by reference to exhibits previously filed with the SEC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt;">Exhibit&#160;Index</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:9pt;margin-bottom:12pt;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;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.38%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.62%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:39.13%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.67%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:10%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:0.84%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.89%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.15%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:12.65%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.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%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.37%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.12%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.67%;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></th></tr><tr style="height:1pt;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.38%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.62%;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;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:39.13%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.67%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:10%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:0.84%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.89%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.15%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:12.65%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.37%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.12%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.67%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 8pt;"><b style="font-weight:bold;">Exhibit</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">No.</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:39.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">Description</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Incorporated</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">by Reference</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Form</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:0.84%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;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:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">File</b> <b style="font-weight:bold;">No.</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:12.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Filed</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:6.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">No.</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;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:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Filed</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Herewith</b></p></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 8pt;"><span style="font-size:2pt;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;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.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;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.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;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.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">2.1</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465920116256/tm2033366d1_ex2-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Stock Purchase Agreement among TechPrecision Corporation, Stadco New Acquisition, LLC, Stadco, Stadco Acquisition, LLC, and the stockholders of Stadco, dated as of October 16, 2020</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">October 20, 2020</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">2.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">2.2</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921011517/tm214500d1_ex10-2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to Stock Purchase Agreement, dated as of December 15, 2020, between TechPrecision Corporation, Stadco New Acquisition, LLC, Stadco, Stadco Acquisition, LLC and Douglas A. Paletz</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">February 3, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.2</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">2.3</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921095571/tm2123123d1_ex2-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Third Amendment to Stock Purchase Agreement, dated as of July 20, 2021, among TechPrecision Corporation, Stadco New Acquisition, LLC, STADCO, Stadco Acquisition, LLC and Douglas A. Paletz, as stockholders&#8217; representative</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">July 26, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">2.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">2.4*</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465923122025/tm2331591d1_ex2-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Stock Purchase Agreement, dated November 22, 2023, by and between TechPrecision Corporation and Doerfer Corporation</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">001-41698</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">November 29, 2023</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">2.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">3.1</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000114420406035900/v050754_ex3-1.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Incorporation of the Registrant</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">SB-2</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">333-133509</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">August 28, 2006</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">3.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">3.2</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465923024816/tm237570d1_ex3-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Amendment to the Certificate of Incorporation of TechPrecision Corporation</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">February 23, 2023</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">3.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">3.3</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1328792/000095015914000051/ex3-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amended and Restated By-laws of the Registrant</span></a> </p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">February 3, 2014</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">3.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">3.4</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000114420406008590/v036856_ex3-1.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Designation for Series A Convertible Preferred Stock of the Registrant</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">March 3, 2006</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">3.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">3.5</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000121390009003081/f10q0909ex3v_techprecision.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Amendment to Certificate of Designation for Series A Convertible Preferred Stock of the Registrant</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10-Q</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">November 12, 2009</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">3.5</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">4.1</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="tpcs-20240331xex4d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Description of Securities</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">X</p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">4.2</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465924078713/tm2419078d1_ex4-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Purchaser Warrant</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">001-41698</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">July 10, 2024</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">4.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">4.3</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465924078713/tm2419078d1_ex4-2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Placement Agent Warrant</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">001-41698</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">July 10, 2024</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">4.2</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.1&#8224;</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000095015916000831/ex10-3.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Non-Qualified Stock Option Award Agreement, dated as of December 27, 2016, from TechPrecision Corporation to Alexander Shen</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">December 28, 2016</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.3</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">78</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><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;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.38%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.62%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:39.13%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.67%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:10%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:0.84%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.89%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.15%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:12.65%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.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%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.37%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.12%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.67%;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></th></tr><tr style="height:1pt;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.38%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.62%;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;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:39.13%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.67%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:10%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:0.84%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.89%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.15%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:12.65%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.37%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.12%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.67%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 8pt;"><b style="font-weight:bold;">Exhibit</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">No.</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:39.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">Description</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Incorporated</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">by Reference</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Form</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:0.84%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;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:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">File</b> <b style="font-weight:bold;">No.</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:12.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Filed</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:6.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">No.</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;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:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Filed</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Herewith</b></p></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 8pt;"><span style="font-size:2pt;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;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.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;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.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;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.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.2&#8224;</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000095015917000056/ex10-4.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">TechPrecision Corporation 2016 Equity Incentive Plan</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10-Q</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">February 14, 2017</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.4</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.3&#8224;</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465922023789/tm226827d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">First Amendment to TechPrecision Corporation 2016 Equity Incentive Plan</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">February 15, 2022</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.4&#8224;</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000121390011000762/f10q1210ex10ii_techprec.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">2006 Long-term Incentive Plan, as restated effective November 22, 2010</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10-Q</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">February 14, 2011</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.2</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.5&#8224;</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000095015913000414/ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Option Award Agreement for Directors</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">June 17, 2013</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.6&#8224;</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000095015914000136/ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Restricted Stock Award Agreement</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">March 20, 2014</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.7&#8224;</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000114420418063825/tv508647_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Restricted Stock Award</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">December 10, 2018</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.8&#8224;</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1328792/000095015914000515/ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Employment Agreement, dated November 14, 2014, between TechPrecision Corporation and Alexander Shen</span></a> </p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">November 20, 2014</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.9&#8224;</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000095015916000530/ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Employment Agreement, dated March 31, 2016, between TechPrecision Corporation and Thomas Sammons</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">April 6, 2016</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.10</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921110986/tm2125978d1_ex10-11.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amended and Restated Loan Agreement, dated as of August 25, 2021, among Ranor, Inc., Stadco New Acquisition, LLC, Westminster Credit Holdings, LLC, STADCO and Berkshire Bank</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">August 30, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.11</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.11</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921151675/tm2135521d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">First Amendment to Amended and Restated Loan Agreement and First Amendment to Promissory Note, dated as of December 17, 2021, by and among Ranor, Inc., Stadco New Acquisition, LLC, Stadco, Westminster Credit Holdings, LLC and Berkshire Bank</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">December 20, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.12</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465922036196/tm229918d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Second Amendment to Amended and Restated Loan Agreement and Second Amendment to Promissory Note, dated as of March 18, 2022, by and among Ranor, Inc., Stadco New Acquisition, LLC, Stadco, Westminster Credit Holdings, LLC and Berkshire Bank</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">March 21, 2022</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.13</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465922073898/tm2219304d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Third Amendment to Amended and Restated Loan Agreement and Third Amendment to Promissory Note, dated as of June 16, 2022, by and among Ranor, Inc., Stadco New Acquisition, LLC, Stadco, Westminster Credit Holdings, LLC and Berkshire Bank</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">June 23, 2022</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.14*</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;"> <a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465922101034/tm2225997d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Fourth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Promissory Note, dated as of September 15, 2022, by and among Ranor, Inc., Stadco New Acquisition, LLC, Stadco, Westminster Credit Holdings, LLC and Berkshire Bank</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">September 19, 2022</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.15*</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465922131367/tm2233762d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Fifth Amendment to Amended and Restated Loan Agreement, Fifth Amendment to Promissory Note and First Amendment to Second Amended and Restated Promissory Note, effective as of December 20, 2022, by and among Ranor, Inc., Stadco New Acquisition, LLC, Stadco, Westminster Credit Holdings, LLC and Berkshire Bank</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">December 30, 2022</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.16*</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465924001787/tm2331591d3_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Sixth Amendment to Amended and Restated Loan Agreement and Second Amendment to Second Amended and Restated Promissory Note, effective as of December 20, 2023, by and among Ranor, Inc., Stadco New Acquisition, LLC, Stadco, Westminster Credit Holdings, LLC and Berkshire Bank</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">001-41698</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">January 5, 2024</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.17</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465924045213/tm2411371d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Seventh Amendment to Amended and Restated Loan Agreement and Third Amendment to Second Amended and Restated Promissory Note, effective as of March 20, 2024, by and among Ranor, Inc., Stadco New Acquisition, LLC, Stadco, Westminster Credit Holdings, LLC and Berkshire Bank</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">001-41698</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">April 9, 2024</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">79</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><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;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.38%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.62%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:39.13%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.67%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:10%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:0.84%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.89%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.15%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:12.65%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.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%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.37%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.12%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.67%;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></th></tr><tr style="height:1pt;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.38%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.62%;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;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:39.13%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.67%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:10%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:0.84%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.89%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.15%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:12.65%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.37%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.12%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.67%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 8pt;"><b style="font-weight:bold;">Exhibit</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">No.</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:39.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">Description</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Incorporated</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">by Reference</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Form</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:0.84%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;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:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">File</b> <b style="font-weight:bold;">No.</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:12.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Filed</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:6.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">No.</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;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:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Filed</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Herewith</b></p></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 8pt;"><span style="font-size:2pt;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;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.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;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.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;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.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.18</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465924067776/tm2416208d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note, executed on May 28, 2024, and effective as of May 24, 2024, by and among Ranor, Inc., Stadco New Acquisition, LLC, Stadco, Westminster Credit Holdings, LLC and Berkshire Bank</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">001-41698</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">June 3, 2024</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.19</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921057551/tm2114594d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amended and Restated Loan Purchase and Sale Agreement, dated as of April 23, 2021, between Stadco New Acquisition, LLC and Sunflower Bank, N.A.</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">April 29, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.20</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921086869/tm2120896d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to Amended and Restated Loan Purchase and Sale Agreement, dated as of June 28, 2021, between Stadco New Acquisition, LLC, Stadco, Stadco Acquisition LLC and Stadco Mexico, Inc. and Sunflower Bank, N.A.</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">June 29, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.21</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921110986/tm2125978d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amended and Restated Standard Industrial/Commercial Single-Tenant Lease &#8211; Net, dated July 1, 2010, between the Landlord and Stadco</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">August 30, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.22</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921110986/tm2125978d1_ex10-2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to the Amended and Restated Standard Industrial/Commercial Single-Tenant Lease &#8211; Net, effective as of August 24, 2021, between the Stadco and the Landlord*</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">August 30, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.2</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.23</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921086869/tm2120896d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to Amended and Restated Loan Purchase and Sale Agreement, dated as of June 28, 2021, between Stadco New Acquisition, LLC, Stadco, Stadco Acquisition LLC and Stadco Mexico, Inc. and Sunflower Bank, N.A.</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">June 29, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.24</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921110986/tm2125978d1_ex10-5.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Stock and Warrant Purchase Agreement, dated effective as of August 24, 2021, among TechPrecision Corporation, Stadco New Acquisition, LLC and Five Crowns Credit Partners, LLC*</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">August 30, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.5</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.25</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921110986/tm2125978d1_ex10-6.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Warrant, issued as of August 25, 2021, by TechPrecision Corporation to Five Crowns Capital, LLC (incorporated herein by reference to Exhibit to our Current Report on, filed with the Commission on).</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">August 30, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.6</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.26</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921110986/tm2125978d1_ex10-7.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Debt Conversion Agreement, dated as of August 25, 2021, among TechPrecision Corporation, Stadco and Douglas A. Paletz</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">August 30, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.7</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.27</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921110986/tm2125978d1_ex10-8.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Debt Conversion Agreement, dated as of August 25, 2021, among TechPrecision Corporation, Stadco and Babak Parsi</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">August 30, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.8</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.28</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921110986/tm2125978d1_ex10-9.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Debt Conversion Agreement, dated as of August 25 2021, among TechPrecision Corporation, Stadco and Vanguard Electronic Company</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">August 30, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.9</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.29</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465921110986/tm2125978d1_ex10-10.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of PIPE Agreement</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">August 30, 2021</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.10</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.30#</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465923010547/tm235289d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Payment Agreement between Stadco and LADWP</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">000-51378</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">February 3, 2023</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.31&#8224;</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465923082898/tm2321637d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Employment Agreement, dated July 17, 2023, between TechPrecision Corporation and Barbara M. Lilley.</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">001-41698</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">July 21, 2023</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.32*</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465924078713/tm2419078d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Securities Purchase Agreement between TechPrecision Corporation and the purchasers signatory thereto dated July 3, 2024</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">001-41698</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">July 10, 2024</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">10.33</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="https://www.sec.gov/Archives/edgar/data/1328792/000110465924078713/tm2419078d1_ex10-2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Placement Agent Agreement between the Company and Wellington Shields &amp; Co. LLC dated July 3, 2024</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">001-41698</p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">July 10, 2024</p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">10.2</p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">19.1</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="tpcs-20240331xex19d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Insider Trading Policy</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">X</p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">21.1</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="tpcs-20240331xex21d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Subsidiaries of the Registrant</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">X</p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">23.1</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="tpcs-20240331xex23d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Consent of Marcum LLP</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">X</p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">80</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><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;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.38%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.62%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:39.13%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.67%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:10%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:0.84%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.89%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.15%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:12.65%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.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%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.37%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.12%;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></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.67%;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></th></tr><tr style="height:1pt;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.38%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.62%;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;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:39.13%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.67%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:10%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:0.84%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:8.89%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.15%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:12.65%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.37%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:1.12%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:6.67%;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div></div></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 8pt;"><b style="font-weight:bold;">Exhibit</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">No.</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:39.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">Description</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Incorporated</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">by Reference</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Form</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:0.84%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;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:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">File</b> <b style="font-weight:bold;">No.</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:12.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Filed</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:6.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">No.</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></th><th style="font-weight:normal;text-align:left;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:8pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Filed</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Herewith</b></p></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 8pt;"><span style="font-size:2pt;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;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.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;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.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;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.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th><th style="font-weight:normal;text-align:left;vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></th></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">31.1</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="tpcs-20240331xex31d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">X</p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">31.2</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="tpcs-20240331xex31d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">X</p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">32.1</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="tpcs-20240331xex32d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Chief Executive Officer and Chief Financial Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">X</p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">97.1</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9pt;" href="tpcs-20240331xex97d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Clawback Policy</span></a></p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">X</p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">101</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">The following financial information from this Annual Report on Form 10-K for the fiscal year ended March 31, 2023, formatted in XBRL (Extensible Business Reporting Language): (i) the Consolidated Balance Sheets at March 31, 2023 and 2022; (ii) the Consolidated Statements of Operations for the years ended March 31, 2023 and 2022; (iii) the Consolidated Statements of Stockholders&#8217; Equity for the years ended March 31, 2023 and 2022; (iv) the Consolidated Statements of Cash Flows for the years ended March 31, 2023 and 2022; and (v) the Notes to the Consolidated Financial Statements.</p></td><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">X</p></td></tr><tr><td style="vertical-align:top;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;margin:0pt;">104</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.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;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><td style="vertical-align:top;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.27;text-align:center;margin:0pt;">X</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">&#8224; Management contract or compensatory arrangement or plan</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">* Pursuant to Item 601(a)(5) of Regulation S-K, certain schedules and attachments have been omitted. A copy of any omitted schedule or attachment will be furnished supplementally to the Securities and Exchange Commission upon request.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"># Certain portions of this Exhibit were redacted pursuant to Item 601(a)(6) of Regulation S-K and marked by means of brackets and asterisks (&#8220;[****]&#8221;).</p><a id="_c1852d46_e571_4df2_9299_3728383b3fb2"></a><a id="Item16"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">Item&#160;16.</b></span>&#160;&#160;&#160;&#160;Form&#160;10-K Summary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;text-align:center;margin:24pt 0pt 0pt 0pt;">81</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_d428403d_3c7c_455c_b683_910abf3fceb1"></a><a id="SIGNATURES_479936"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">SIGNATURES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Pursuant to the requirements of Section&#160;13 or 15(d)&#160;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><td style="vertical-align:top;width:49.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:46.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">TechPrecision Corporation</p></td></tr><tr><td style="vertical-align:top;width:49.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:46.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:49.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">September 13, 2024</p></td><td style="vertical-align:top;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">By:</p></td><td style="vertical-align:top;width:46.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">/s/ Barbara M. Lilley</p></td></tr><tr><td style="vertical-align:top;width:49.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:46.66%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Barbara M. Lilley</p></td></tr><tr><td style="vertical-align:top;width:49.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:46.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Chief Financial Officer</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, as amended, the report has been signed by the following persons on behalf of the Registrant and in the capacities and on the dates indicated.</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:30%;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:3.15%;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:35%;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:3.13%;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:28.7%;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:30%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Signature</b></p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Title</b></p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:28.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</b></p></td></tr><tr><td style="vertical-align:top;width:30%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:30%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">/s/ Alexander Shen</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">Chief Executive Officer, Director</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">September 13, 2024</p></td></tr><tr><td style="vertical-align:top;width:30%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Alexander Shen</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">(Principal Executive Officer)</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:30%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">/s/ Barbara M. Lilley</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">Chief&#160;Financial Officer</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">September 13, 2024</p></td></tr><tr><td style="vertical-align:top;width:30%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Barbara M. Lilley</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">(Principal Financial and Accounting Officer)</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:30%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">/s/ Richard S. McGowan</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">Chairperson</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">September 13, 2024</p></td></tr><tr><td style="vertical-align:top;width:30%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Richard S. McGowan</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:30%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">/s/ Robert A. Crisafulli</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">Director</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">September 13, 2024</p></td></tr><tr><td style="vertical-align:top;width:30%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Robert A. Crisafulli</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:30%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">/s/ Andrew A. Levy</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">Director</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">September 13, 2024</p></td></tr><tr><td style="vertical-align:top;width:30%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Andrew A. Levy</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:30%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">/s/ Walter M. Schenker</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">Director</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">September 13, 2024</p></td></tr><tr><td style="vertical-align:top;width:30%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Walter M. Schenker</p></td><td style="vertical-align:middle;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:3.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:28.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:12pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;text-align:center;margin:24pt 0pt 0pt 0pt;">82</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border:0;"></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-4.1
<SEQUENCE>2
<FILENAME>tpcs-20240331xex4d1.htm
<DESCRIPTION>EX-4.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 9/13/2024 08:59:27 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 12pt 0pt;"><b style="font-weight:bold;">Exhibit 4.1</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;">DESCRIPTION OF THE REGISTRANT&#8217;S SECURITIES REGISTERED PURSUANT TO SECTION 12 OF THE SECURITIES EXCHANGE ACT OF 1934</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">TechPrecision Corporation has one class of securities registered under Section 12 of the Securities Act of 1934, as amended; our common stock. The following description of our common stock is a summary and is qualified in its entirety by reference to our Certificate of Incorporation (as amended by that certain Certificate of Designation for Series A Convertible Preferred Stock, and as further amended by that certain Certificate of Amendment to Certificate of Designation for Series A Convertible Preferred Stock, the &#8220;</i><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Certificate of Incorporation</i><i style="font-style:italic;">&#8221;) and our Amended and Restated By-Laws (&#8220;</i><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">By-Laws</i><i style="font-style:italic;">&#8221;), which are included as exhibits to the Annual Report on Form 10-K of which this exhibit is a part. We encourage you to read the Certificate of Incorporation and By-Laws as well as the applicable provisions of the General Corporation Law of the State of Delaware, as amended (the &#8220;DGCL&#8221;), for more information.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">References herein to &#8220;we,&#8221; &#8220;our,&#8221; &#8220;us,&#8221; the &#8220;Company,&#8221; or &#8220;TechPrecision&#8221; refer to TechPrecision Corporation, a Delaware corporation.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Authorized Shares</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We are authorized to issue 50,000,000 shares of common stock, par value $.0001 per share, and 10,000,000 shares of preferred stock, par value $.0001 per share. As of September 12, 2024, we had 9,619,232 shares of common stock and no shares of preferred stock outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Voting Rights</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Holders of common stock are entitled to one vote for each share held on all matters submitted to a vote of stockholders and do not have cumulative voting rights. Accordingly, holders of a majority of the shares of common stock entitled to vote in any election of directors may elect all of the directors standing for election.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Dividends</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Holders of common stock are entitled to receive proportionately any dividends as may be declared by our board of directors, subject to any preferential dividend rights of outstanding preferred stock. Pursuant to the certificate of designation relating to the series A preferred stock, we are prohibited from paying dividends on our common stock while any preferred stock is outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Liquidation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Upon our liquidation, dissolution or winding up, the holders of common stock are entitled to receive proportionately our net assets available after the payment of all debts and other liabilities and subject to the prior rights of any outstanding preferred stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Other Rights</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Holders of common stock have no preemptive, subscription, redemption or conversion rights. The rights, preferences and privileges of holders of common stock are subject to, and may be adversely affected by, the rights of the holders of shares of any series of preferred stock that we may designate and issue in the future. All of our shares of common stock are fully paid and nonassessable. The common stock is not subject to any redemption or sinking fund provisions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Listing</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our common stock is listed on the Nasdaq Capital Market under the symbol &#8220;TPCS.&#8221; Any additional shares of common stock we issue will also be listed on the Nasdaq Capital Market.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><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:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Anti-Takeover Effects of Various Provisions of Delaware Law and TechPrecision&#8217;s Certificate of Incorporation and By-Laws</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Provisions of the DGCL and our Certificate of Incorporation and By-Laws could make it more difficult to acquire TechPrecision by means of a tender offer, a proxy contest or otherwise, or to remove incumbent officers and directors. These provisions, including those summarized below, may encourage certain types of coercive takeover practices and takeover bids.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Delaware Anti-Takeover Statute.</i> TechPrecision is subject to Section 203 of the DGCL, an anti-takeover statute. In general, Section 203 of the DGCL prohibits a publicly held Delaware corporation from engaging in a &#8220;business combination&#8221; with an &#8220;interested stockholder&#8221; for a period of three years following the time the person became an interested stockholder, unless the business combination or the acquisition of shares that resulted in a stockholder becoming an interested stockholder is approved in a prescribed manner. Generally, a &#8220;business combination&#8221; includes a merger, asset or stock sale or other transaction resulting in a financial benefit to the interested stockholder. Generally, an &#8220;interested stockholder&#8221; is a person who, together with affiliates and associates, owns (or within three years prior to the determination of interested stockholder status did own) 15% or more of a corporation&#8217;s voting stock. The existence of this provision would be expected to have an anti-takeover effect with respect to transactions not approved in advance by TechPrecision&#8217;s board of directors, including discouraging attempts that might result in a premium over the market price for the shares of common stock held by TechPrecision&#8217;s stockholders.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Removal</i>. Subject to the rights of any holders of any outstanding series of our preferred stock, stockholders may remove our directors with or without cause. Removal will require the affirmative vote of holders of a majority of our voting stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Size of Board and Vacancies.</i> Our By-Laws provide that the number of directors be fixed exclusively by the board of directors. Any vacancies created on our board of directors resulting from any increase in the authorized number of directors or the death, resignation, retirement, disqualification, removal from office or other cause will be filled by a majority of the board of directors then in office, even if less than a quorum is present, or by a sole remaining director. Any director appointed to fill a vacancy on our board of directors will be appointed until the next annual meeting and until his or her successor has been elected and qualified.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Requirements for Advance Notification of Stockholder Nominations and Proposals.</i> Our By-Laws establish advance notice procedures with respect to stockholder proposals and nomination of candidates for election as directors other than nominations made by or at the direction of its board of directors or a committee of our board of directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Undesignated Preferred Stock.</i> Our board of directors is authorized to issue up to 10,000,000 shares of preferred stock without additional stockholder approval, which preferred stock could have voting rights or conversion rights that, if exercised, could adversely affect the voting power of the holders of common stock. The issuance of shares of preferred stock may have the effect of delaying, deferring or preventing a change in control of the Company without any action by the Company&#8217;s stockholders.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Limitation on Liability of Directors and Indemnification of Directors and Officers</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Elimination of Liability of Directors.</i> The DGCL authorizes corporations to limit or eliminate the personal liability of directors and officers to corporations and their stockholders for monetary damages for breaches of directors&#8217; and officers&#8217; fiduciary duties as directors and officers, and our Certificate of Incorporation includes such an exculpation provision with respect to our directors. Our Certificate of Incorporation provides that, to the fullest extent permitted by the DGCL, no director will be personally liable to us or to our stockholders for monetary damages for breach of fiduciary duty as a director. While our Certificate of Incorporation provides directors with protection from awards for monetary damages for breaches of their duty of care, it does not eliminate this duty. Accordingly, our Certificate of Incorporation has no effect on the availability of equitable remedies such as an injunction or rescission based on a director&#8217;s breach of his or her duty of care. The provisions apply to an officer of TechPrecision only if he or she is a director of TechPrecision and is acting in his or her capacity as director, and do not apply to officers of TechPrecision who are not directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><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:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Indemnification of Directors, Officers and Employees.</i> Our By-Laws require us to indemnify any person who was or is a party or is threatened to be made a party to, or was otherwise involved in, a legal proceeding by reason of the fact that he or she is or was a director, officer or employee of TechPrecision or, while a director, officer or employee of TechPrecision, is or was serving at our request in a fiduciary capacity with another enterprise (including any corporation, partnership, limited liability company, joint venture, trust, association or other unincorporated organization or other entity and any employee benefit plan, to the fullest extent authorized by the DGCL, as it exists or may be amended, against all expense, liability and loss (including attorneys&#8217; fees, judgments, fines, U.S. Employee Retirement Income Security Act of 1974, as amended, excise taxes or penalties and amounts paid in settlement by or on behalf of such person) actually and reasonably incurred in connection with such service. We are authorized under our By-Laws to carry directors&#8217; and officers&#8217; insurance protecting us, any director, officer or employee of ours or, against any expense, liability or loss, whether or not we have the power to indemnify the person under the DGCL. We may, to the extent authorized from time to time, indemnify any of our agents to the fullest extent permitted with respect to directors, officers and employees in our By-Laws.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The limitation of liability and indemnification provisions in our Certificate of Incorporation and By-Laws may discourage stockholders from bringing a lawsuit against our directors for breach of fiduciary duty. These provisions also may reduce the likelihood of derivative litigation against our directors and officers, even though such an action, if successful, might otherwise benefit us and our stockholders. By its terms, the indemnification provided for in our By-Laws is not exclusive of any other rights that the indemnified party may be or become entitled to under any law, agreement, vote of stockholders or directors, provisions of our Certificate of Incorporation or By-Laws or otherwise. Any amendment, alteration or repeal of our By-Laws&#8217; indemnification provisions is, by the terms of our By-Laws, prospective only and will not adversely affect the rights of any indemnity in effect at the time of any act or omission occurring prior to such amendment, alteration or repeal.</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-19.1
<SEQUENCE>3
<FILENAME>tpcs-20240331xex19d1.htm
<DESCRIPTION>EX-19.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 9/13/2024 08:59:27 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="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><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 12pt 0pt;"><b style="font-weight:bold;">Exhibit 19.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:1pt;padding-top:1pt;text-align:center;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">TECHPRECISION CORPORATION</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;">Insider Trading Policy</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">(Effective June 19, 2024)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">This Insider Trading Policy (this &#8220;<font style="font-style:italic;font-weight:bold;">Policy</font>&#8221;) has been adopted by the Board of Directors (the &#8220;<font style="font-style:italic;font-weight:bold;">Board</font>&#8221;) of TechPrecision Corporation (the &#8220;<font style="font-style:italic;font-weight:bold;">Company</font>&#8221;) and provides the standards of the Company on trading of the Company&#8217;s securities or securities of other publicly-traded companies with whom the Company has a business relationship. This policy is divided into two parts:</p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"></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;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the first part prohibits trading in certain circumstances and applies to all directors, officers and employees of the Company; and</font></td></tr></table><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"></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;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the second part imposes additional trading restrictions and applies to all &#8220;</font><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;">Covered Persons</font><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">,&#8221; who are (a) directors of the Company, (b) officers of the Company and its subsidiaries at the level of Vice President and above, and (c) employees in the finance, investor relations and accounting departments.</font></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">One of the principal purposes of the federal and state securities laws is to prohibit so-called &#8220;insider trading.&#8221; Simply stated, insider trading occurs when a person uses material, nonpublic information obtained through involvement with a company to make decisions to purchase, sell, gift or otherwise trade a company&#8217;s securities or to provide that information to others outside such company. The prohibitions against insider trading apply to trades, tips and recommendations by virtually any person, including all persons associated with the Company, if the information involved is &#8220;material&#8221; and &#8220;nonpublic&#8221; (these terms are defined in this Policy under <u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Part I, Article&#160;IV</u> below).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">This Policy is designed to prevent insider trading or allegations of insider trading, and to protect the Company&#8217;s and your reputation for integrity and ethical conduct.</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;">PART I</b></p><table border="0" cellpadding="0" cellspacing="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;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">A.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">APPLICABILITY</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">This Policy applies to all transactions in (i) the Company&#8217;s securities, including common stock, options and any other securities that the Company may issue, such as preferred stock, notes, bonds, warrants and convertible securities, as well as to derivative securities relating to any of the Company&#8217;s securities, whether or not issued by the Company, and (ii) another company&#8217;s securities, to the extent such securities are of publicly-traded companies with whom the Company has an ongoing business relationship.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">This Policy&#8217;s trading restrictions generally do not apply to the exercise of a stock option for cash or a true cashless exercise of a stock option. The trading restrictions do apply, however, to any sale of the underlying stock or to a cashless exercise of the option through a broker, as this entails selling a portion of the underlying stock to cover the costs of exercise.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><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-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">This Policy applies to all directors, officers and employees of the Company and its subsidiaries. The restrictions identified in this Policy also apply to your family members who reside with you, anyone else who lives in your household and any family members who do not live in your household but whose transactions in Company securities are directed by you or are subject to your influence or control (such as parents or children who consult with you before they trade in Company securities). You are responsible for making sure that the purchase or sale of any security covered by this Policy by any such person complies with this Policy.</p><table border="0" cellpadding="0" cellspacing="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;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">B.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">GENERAL POLICY: NO TRADING OR CAUSING TRADING WHILE IN POSSESSION OF MATERIAL, NONPUBLIC INFORMATION</b></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">No director, officer or employee may purchase or sell any Company security, directly or through family members or other persons or entities, while in possession of material, nonpublic information about the Company (the terms &#8220;material&#8221; and &#8220;nonpublic&#8221; are defined in </font><u style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Part I, Section IV.A</u><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </font><u style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Part I, Section IV.B</u><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> below).</font></td></tr></table><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">No director, officer or employee who knows of any material, nonpublic information about the Company may communicate that information or recommend the purchase or sale of the Company&#8217;s securities to any other person, including family and friends, which is a practice known as &#8220;tipping.&#8221;</font></td></tr></table><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">No director, officer or employee may purchase or sell any security of any other public company with which the Company has a business relationship, while in possession of material, nonpublic information about that company that was obtained in the course of his or her involvement with the Company. No director, officer or employee who knows of any such material, nonpublic information may communicate that information to any other person, including family and friends.</font></td></tr></table><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Covered Persons must &#8220;pre-clear&#8221; all trading in securities of the Company in accordance with the procedures set forth in </font><u style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Part II, Section III</u><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> below.</font></td></tr></table><div style="margin-top:12pt;"></div><table border="0" cellpadding="0" cellspacing="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;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">C.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">OTHER PROHIBITED TRANSACTIONS</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Particular types of hedging or monetization transactions allow a person to lock in much of the value of his or her stock holdings, often in exchange for all or part of the potential for upside appreciation in the stock. These transactions allow the person to continue to own the covered securities, but without the full risks and rewards of ownership. When that occurs, the person may no longer have the same objectives as the Company&#8217;s other stockholders. Accordingly, all trading in the Company&#8217;s securities by directors, officers or employees, including such person&#8217;s immediate family and the other members of their household, are subject to the following:</p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><u style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Short sales</u><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. Directors, officers or employees may not sell the Company&#8217;s securities short (sales of securities that are not then owned), including a &#8220;sale against the box&#8221; (a sale with delayed delivery);</font></td></tr></table><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><u style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Options trading</u><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. Directors, officers or employees may not buy or sell puts, calls or other derivative securities on the Company&#8217;s securities;</font></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><u style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Margin accounts and pledging</u><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. Directors, officers or employees may not hold Company securities in a margin account against which there is at any time a margin loan or pledge Company securities as collateral for a loan; and</font></td></tr></table><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><u style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Hedging</u><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. Directors, officers or employees may not enter into hedging or monetization transactions or similar arrangements with respect to Company securities, including zero-cost collars, prepaid variable forward sale contracts, equity swaps and exchange funds.</font></td></tr></table><div style="margin-top:12pt;"></div><table border="0" cellpadding="0" cellspacing="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;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">D.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">DEFINITIONS</b></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Materiality</u>. Insider trading restrictions come into play only if the information you possess is &#8220;material.&#8221; Information is generally regarded as &#8220;material&#8221; if it has market significance, that is, if its public dissemination is likely to affect the market price of securities, or if it otherwise is information that a reasonable investor would want to know before making an investment decision. Information dealing with the following subjects is reasonably likely to be found material in particular situations:</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(i)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">significant write-downs in assets or increases in reserves;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(ii)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">developments regarding significant litigation or government agency investigations;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(iii)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">liquidity problems;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(iv)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">projections of future earnings or losses or other earnings guidance;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(v)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">changes in earnings estimates or unusual gains or losses in major operations;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(vi)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">major changes in management;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(vii)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">major events regarding the Company&#8217;s securities, including the declaration of a stock split, a change in dividend policy or the offering of additional securities;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(viii)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">extraordinary borrowings or similar financing transactions;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(ix)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">award or loss of a significant contract;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(x)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">changes in debt ratings; and</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">(xi)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">public or private financings, or proposals, plans or agreements, even if preliminary in nature, involving mergers, acquisitions, divestitures, recapitalizations, strategic alliances, licensing arrangements, joint ventures, or purchases or sales of substantial assets.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Material information is not limited to historical facts but may also include projections and forecasts. With respect to a future event, such as a merger or acquisition, the point at which negotiations or product development are determined to be material is determined by balancing the</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">probability that the event will occur against the magnitude of the effect the event would have on a company&#8217;s operations or stock price should it occur. Thus, information concerning an event that would have a large effect on stock price, such as a merger, may be material even if the probability that the event will occur is not great. Because trading that receives scrutiny will be evaluated after the fact with the benefit of hindsight, questions concerning the materiality of particular information should be resolved in favor of materiality, and trading should be avoided. <b style="font-weight:bold;">If you are unsure whether information is material, you should consult the Compliance Officer before making any decision to disclose such information or to trade in or recommend securities to which that information relates.</b></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Nonpublic Information</u>. Insider trading prohibitions come into play only when a person possesses information that is material and &#8220;nonpublic.&#8221; The fact that information has been disclosed to a few members of the public does not make it public for insider trading purposes. To be &#8220;public&#8221; the information must have been disseminated in a manner designed to reach investors generally (such as by a press release or a filing with the Securities and Exchange Commission (&#8220;<font style="font-style:italic;font-weight:bold;">SEC</font>&#8221;)), and the investors must be given the opportunity to absorb the information fully. Nonpublic information may include:</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(i)</font></font>information available to a select group of analysts or brokers or institutional investors;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(ii)</font></font>undisclosed facts that are the subject of rumors, even if the rumors are widely circulated; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(iii)</font></font>information that has been entrusted to the Company on a confidential basis until a public announcement of the information has been made and enough time has elapsed for the market to respond to a public announcement of the information.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">As a general rule, information should be considered nonpublic until the conclusion of the second full trading day after the day on which the information is released. For example, if the Company makes an announcement on a Monday, the first time you can buy or sell Company securities is on Thursday (assuming you are not aware of other material, nonpublic information at that time).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">As with questions of materiality, if you are not sure whether information is considered public, you should either consult with the Compliance Officer or assume that the information is &#8220;nonpublic&#8221; and treat it as confidential.</b></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">3.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Compliance Officer</u>. The Board has appointed the Company&#8217;s Chief Financial Officer as the compliance officer (the &#8220;<font style="font-style:italic;font-weight:bold;">Compliance Officer</font>&#8221;) for this Policy.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="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;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">E.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">CERTIFICATION</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">All employees of the Company must certify their understanding of, and intent to comply with, this Policy, on the form attached to this Policy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">4</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><table border="0" cellpadding="0" cellspacing="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;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">F.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">VIOLATIONS OF INSIDER TRADING LAWS</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Penalties for trading on or communicating material, nonpublic information can be severe, both for individuals involved in such unlawful conduct and their employers and supervisors, and may include jail terms, criminal fines, civil penalties and civil enforcement injunctions. Given the severity of the potential penalties, compliance with this Policy is absolutely mandatory.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Legal Penalties</u>. Violation of this Policy may result in both civil and criminal penalties under applicable securities laws, including imprisonment for up to 20 years, criminal fines of up to $5 million and civil penalties of up to three times the profits gained or losses avoided.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In addition, a person who tips others may also be liable for transactions by the tippees to whom he or she has disclosed material, nonpublic information. Tippers can be subject to the same penalties and sanctions as the tippees, and the SEC has imposed large penalties even when the tipper did not profit from the transaction.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Company-imposed Penalties</u>. Employees who violate this Policy may be subject to disciplinary action by the Company, including dismissal for cause. Any exceptions to the Policy, if permitted, may only be granted by the Compliance Officer and must be provided before any activity contrary to the above requirements takes place.</p></td></tr></table><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;">PART II</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Part II applies to Covered Persons.</p><table border="0" cellpadding="0" cellspacing="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;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">A.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">BLACKOUT PERIODS</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">All Covered Persons are prohibited from trading in the Company&#8217;s securities during blackout periods.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Quarterly Blackout Periods</u>. Trading in the Company&#8217;s securities is prohibited during the period beginning on the 15th day prior to the end of each fiscal quarter and ending at the close of business on the second trading day following the date of the Company&#8217;s earnings release for that fiscal quarter.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Interim Earnings Guidance</u>. The Company may on occasion issue interim earnings guidance or other potentially material information by means of a press release, SEC filing on Form 8-K or other means designed to achieve widespread dissemination of the information. Covered Persons should anticipate that trading will be prohibited while the Company is in the process of assembling the information to be released and until the information has been released and fully absorbed by the market.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">3.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Other Blackout Periods</u>. From time to time, an event may occur that is material to the Company and is known to only a few directors and executives (such as negotiation of mergers, acquisitions or dispositions or new product developments). So long as the event remains material and nonpublic, the persons who are aware of the event may not trade in the Company&#8217;s securities. The existence of an event-specific blackout will not</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">5</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 54pt;">be announced, other than to those who are aware of the event giving rise to the blackout. If, however, a person whose trades are subject to pre-clearance requests permission to trade in the Company&#8217;s securities during an event-specific blackout, the Compliance Officer will inform the requesting person of the existence of a blackout period by means of the Form of Event-Specific Blackout Letter set forth in <u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Exhibit A</u> to this Policy, without disclosing the reason for the blackout. Any person made aware of the existence of an event-specific blackout should not disclose the existence of the blackout to any other person. The failure of the Compliance Officer to designate a person as being subject to an event-specific blackout will not relieve that person of the obligation not to trade while aware of material, nonpublic information.</p><table border="0" cellpadding="0" cellspacing="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;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">B.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">EXCEPTIONS.</b></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Hardship Exceptions</u>. A Covered Person who is subject to a quarterly earnings blackout period and who has an unexpected and urgent need to sell Company stock in order to generate cash may, in appropriate circumstances, be permitted to sell Company stock even during the quarterly blackout period. Hardship exceptions may be granted only by the Compliance Officer and must be requested at least two days in advance of the proposed trade. A hardship exception may be granted only if the Compliance Officer reasonably concludes that the individual making the hardship exception request does not possess material, nonpublic information.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Exceptions for Approved 10b5-1 Plans</u>. These trading restrictions do not apply to transactions under a pre-existing written plan, contract, instruction or arrangement under Rule 10b5-1 (an &#8220;<font style="font-style:italic;font-weight:bold;">Approved 10b5-1 Plan</font>&#8221;) that:</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(i)</font></font>has been reviewed and approved in advance of any trades thereunder by the Compliance Officer (or, if revised or amended, such revisions or amendments have been reviewed and approved by the Compliance Officer);</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(ii)</font></font>was entered into in good faith by the Covered Person at a time when the Covered Person was not in possession of material, nonpublic information about the Company; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(iii)</font></font>(x) specifies the amount of securities to be purchased or sold and the price at which and the date on which the securities are to be purchased or sold, (y) includes a written formula or algorithm, or computer program, for determining the amount of securities to be purchased or sold and the price at which and the date on which the securities are to be purchased or sold; or (z) does not permit the Covered Person to exercise any subsequent influence over how, when, or whether to effect purchases or sales;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 36pt;">so long as such Covered Person certifies at the time he or she is adopting the Approved 10b5-1 Plan that such Covered Person does not possess any material, nonpublic information about the Company or its securities and such Covered Person is adopting the Approved 10b5-1 Plan in good faith and not as part of a plan or scheme to evade the prohibitions of Rule 10b-5.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">6</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">A Covered Person may not have multiple Approved 10b5-1 Plans in place that cover the same period of time, except under certain conditions specified in Rule 10b5-1. Such plans must also include a mandatory cooling-off period before trading can commence for Covered Persons that are directors or officers of the Company that expires on the later of (i) 90 days following such plan adoption or modification or (ii) two business days following the disclosure in the Company&#8217;s SEC-filed reports of its financial results for the fiscal quarter in which the plan was adopted or modified (but not to exceed 120 days following plan adoption or modification). The plans must also include a mandatory cooling-off period before trading can commence of 30 days for persons other than the Company or officers and directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">3.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Bona fide gifts</u>. Bona fide gifts are exempt from these trading restrictions, even during a blackout period. Whether a gift is bona fide will depend on the circumstances surrounding the gift, including, but not limited to, the donor&#8217;s relationship with the recipient, what the recipient does with the donated securities, and the nature of the tax benefit of the donor. If you are uncertain whether a gift is bona fide, you should contact the Compliance Officer. Note that gifts may be subject to insider trading laws, as the SEC takes the position that a scenario in which an insider gifts stock while aware of material non-public information and the recipient sells the gifted securities while the information remains nonpublic and material is economically equivalent to a scenario in which the insider trades on the basis of material non-public information and gifts the trading proceeds to the recipient.</p><table border="0" cellpadding="0" cellspacing="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;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">C.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">PRE-CLEARANCE OF SECURITIES TRANSACTIONS</b></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">Because Covered Persons are likely to obtain material, nonpublic information on a regular basis, the Company requires all such persons to refrain from trading in Company securities, even when no blackout period is in effect, without first pre-clearing all transactions in the Company&#8217;s securities.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">Subject to the exemption in <u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Part II, Section III.D</u> below, no Covered Person may, directly or indirectly, purchase or sell (or otherwise make any transfer or gift) any Company security at any time without first obtaining prior approval from the Compliance Officer. These procedures also apply to transactions by such person&#8217;s immediate family members and other members of their household, and to transactions by entities over which such person exercises control.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">3.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">A request for pre-clearance to trade in Company securities should be submitted to the Compliance Officer via email at least one (1) business day in advance of the proposed trade. When a request for pre-clearance is made, the requestor should summarize the details of the proposed trade and should not in possession of any &#8220;material nonpublic information&#8221; concerning the Company or its securities. The Compliance Officer shall record the date each request is received and the date and time each request is approved or disapproved. If the request is approved, the Compliance Officer shall affirmatively reply to the requester in a timely manner. Unless revoked, a grant of permission will normally remain valid until the close of trading five (5) trading days following the day on which it was granted. If the transaction does not occur during the five (5)-trading day period, pre-clearance of the transaction must be re-requested. If the requestor becomes aware of material, nonpublic information concerning the Company or its</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">7</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 54pt;">securities before the trade is executed, the pre-clearance shall be void and the trade must not be completed. If a person seeks pre-clearance and permission to engage in the trade is denied, then he or she should refrain from initiating any trade in Company securities and should not inform any other person of the denial.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">4.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;">Pre-clearance is not required for purchases and sales of securities under an Approved 10b5-1 Plan. With respect to any purchase or sale under an Approved 10b5-1 Plan, the third party effecting transactions on behalf of the Covered Person should be instructed to send duplicate confirmations of all such transactions to the Compliance Officer.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="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;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">D.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">POST-EMPLOYMENT TRANSACTIONS</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The trading restrictions of this Policy apply to all Covered Persons who are aware of material, nonpublic information when they terminate employment or services. Such Covered Persons may not trade in the Company&#8217;s securities until that information has become public or is no longer material. In all other respects, the pre-clearance and blackout procedures set forth in this section of this Policy will cease to apply to such Covered Person&#8217;s transactions in the Company&#8217;s securities upon the expiration of any &#8220;blackout period&#8221; that is applicable at the time of such person&#8217;s termination of employment or services.</p><table border="0" cellpadding="0" cellspacing="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;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">E.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">COMPLIANCE WITH SECTION 16 AND RULE 144</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Covered Persons who are also directors and executive officers are responsible for compliance with Section 16 of the Securities Exchange Act of 1934 (&#8220;Section 16&#8221;) and Rule 144 of the Securities Act of 1933 (&#8220;Rule 144&#8221;) in connection with their transactions in the Company&#8217;s securities. The requirements of this Policy do not supersede the required compliance with your obligations under Section 16 or Rule 144.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Section 16</u>. Directors and executive officers should be aware that most transactions in Company stock, including bona fide gifts of securities of the Company, are subject to the accelerated two business day reporting requirements under Section 16. The Company&#8217;s policy is to assist directors and officers in completing and filing their Section 16 reports. It is important that the Compliance Officer receive prompt notice of reportable transactions, so that the Company can assist in filing the required reports on a timely basis.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><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;margin-bottom:12pt;margin-top:0pt;text-align:justify;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Rule 144</u>. Directors and executive officers are required to file Form 144 before making open market sales of Company stock. This form is generally prepared and filed by such individual&#8217;s broker.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;">* * * * *</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="display:none;line-height:0pt;margin:0pt 0pt 12pt 0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:0pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">8</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><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;">INSIDER TRADING POLICY</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;">CERTIFICATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">To TechPrecision Corporation:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">I have received and read a copy of the TechPrecision Insider Trading Policy (the &#8220;<font style="font-style:italic;font-weight:bold;">Policy</font>&#8221;). I have reviewed and understand how the Policy applies to me and hereby agree to comply with the provisions of the Policy.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:bottom;width:50%;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:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;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:bottom;width:50%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Name)</p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;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:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;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:bottom;width:50%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Signature)</p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;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:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;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:bottom;width:50%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Date)</p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><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-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><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;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">EXHIBIT A</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;">FORM OF EVENT-SPECIFIC BLACKOUT LETTER</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">Date:<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</u>,<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"> &#160;&#160;&#160;&#160;&#160;&#160;</u></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">CONFIDENTIAL</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">Dear <u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</u>:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Until further notice, you may not trade in any securities of the Company, as described under &#8220;Part&#160;I&#8211; Applicability&#8221; in the Company&#8217;s Insider Trading Policy previously delivered to you. You also may not inform anyone else of these restrictions on trading.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">These restrictions on trading do not apply to the exercise for cash of stock options granted to you by the Company. However, the sale of stock received from an option exercise, including in a broker-assisted cashless exercise, is subject to the restrictions. The restrictions also do not apply to trading under an approved and previously established Rule 10b5-1 plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">Very truly yours,</p><div align="left"><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:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;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:bottom;width:50%;border-bottom:1px solid transparent;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></tr><tr><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Barbara M. Lilley</p></td><td style="vertical-align:bottom;width:50%;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></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chief Financial Officer, TechPrecision Corporation</p></td><td style="vertical-align:bottom;width:50%;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></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 style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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-21.1
<SEQUENCE>4
<FILENAME>tpcs-20240331xex21d1.htm
<DESCRIPTION>EX-21.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 9/13/2024 08:59:27 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 12pt 0pt;"><b style="font-weight:bold;">Exhibit 21.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;">SUBSIDIARIES 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><td style="vertical-align:bottom;width:30.75%;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:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:37.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">State&#160;or&#160;other&#160;Jurisdiction&#160;of&#160;Incorporation&#160;or</b>&#160;<br><b style="font-weight:bold;">Organization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:28.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock&#160;Ownership</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Ranor, Inc.</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;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:37.26%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Delaware</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;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:28.26%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">100%</p></td></tr><tr><td style="vertical-align:bottom;width:30.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Stadco New Acquisition, LLC</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;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:37.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Delaware</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;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:28.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">100%</p></td></tr><tr><td style="vertical-align:bottom;width:30.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Westminster Credit Holdings, LLC</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;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:37.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Delaware</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;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:28.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">100%</p></td></tr><tr><td style="vertical-align:bottom;width:30.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Stadco</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;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:37.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">California</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;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:28.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">100%</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-23.1
<SEQUENCE>5
<FILENAME>tpcs-20240331xex23d1.htm
<DESCRIPTION>EX-23.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 9/13/2024 08:59:27 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 12pt 0pt;"><b style="font-weight:bold;">Exhibit 23.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;">INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM&#8217;S CONSENT</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We consent to the incorporation by reference in the Registration Statement of TechPrecision Corporation on Form S-8 (File No. 333-215028, 333-214541, 333-177315, and 333-148152) and Form S-1 (File No. 333-262063) of our report dated September XX, 2024 which includes an explanatory paragraph as to the Company&#8217;s ability to continue as a going concern, with respect to our audits of the consolidated financial statements of TechPrecision Corporation as of March 31, 2024 and 2023 and for the years ended March 31, 2024 and 2023, which reports are included in this Annual Report on Form 10-K of TechPrecision Corporation for the year ended March 31, 2024.</p><div align="left"><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: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%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><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%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:12.4pt;"><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;">/s/ Marcum LLP</p></td><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;">&#160;</p></td></tr><tr style="height:12.4pt;"><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;"><font style="visibility:hidden;">&#8203;</font></p></td><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;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr style="height:12.4pt;"><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;">Marcum LLP</p></td><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;">&#160;</p></td></tr><tr style="height:12.4pt;"><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;">Philadelphia, Pennsylvania</p></td><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;">&#160;</p></td></tr><tr style="height:12.4pt;"><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;">September 13, 2024</p></td><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;">&#160;</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.1
<SEQUENCE>6
<FILENAME>tpcs-20240331xex31d1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 9/13/2024 08:59:43 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 12pt 0pt;"><b style="font-weight:bold;">Exhibit 31.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;">CERTIFICATION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">I, Alexander Shen, certify that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">1. I have reviewed this annual report on Form 10-K of TechPrecision Corporation for the year ended March 31, 2024;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">4. 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;padding-left:11pt;text-align:justify;text-indent:-11pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a)</font></font>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 annual report is being prepared;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:11pt;text-align:justify;text-indent:-11pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">b)</font></font>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;padding-left:11pt;text-align:justify;text-indent:-11pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">c)</font></font>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;padding-left:11pt;text-align:justify;text-indent:-11pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">d)</font></font>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 (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) 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. 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;padding-left:11pt;text-align:justify;text-indent:-11pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a)</font></font>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;padding-left:11pt;text-align:justify;text-indent:-11pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">b)</font></font>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><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Dated: September 13, 2024</p></td><td style="vertical-align:top;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Alexander Shen</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Alexander Shen</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Chief Executive Officer (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>7
<FILENAME>tpcs-20240331xex31d2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 9/13/2024 08:59:46 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 12pt 0pt;"><b style="font-weight:bold;">Exhibit 31.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;">CERTIFICATION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">I, Barbara Lilley, certify that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">1. I have reviewed this annual report on Form 10-K of TechPrecision Corporation for the year ended March 31, 2024;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">4. 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;padding-left:11pt;text-align:justify;text-indent:-11pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a)</font></font>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 annual report is being prepared;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:11pt;text-align:justify;text-indent:-11pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">b)</font></font>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;padding-left:11pt;text-align:justify;text-indent:-11pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">c)</font></font>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;padding-left:11pt;text-align:justify;text-indent:-11pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">d)</font></font>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 (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) 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. 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;padding-left:11pt;text-align:justify;text-indent:-11pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a)</font></font>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;padding-left:11pt;text-align:justify;text-indent:-11pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">b)</font></font>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;"><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: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></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;text-align:justify;margin:0pt;">Dated: September 13, 2024</p></td><td style="vertical-align:top;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Barbara M. Lilley</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Barbara M. Lilley</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Chief Financial Officer (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>8
<FILENAME>tpcs-20240331xex32d1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 9/13/2024 08:59:47 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 12pt 0pt;"><b style="font-weight:bold;">Exhibit 32.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">CERTIFICATION PURSUANT TO</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</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 Annual Report on Form 10-K of TechPrecision Corporation (the &#8220;Company&#8221;) for the year ended March 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Alexander Shen, the Chief Executive Officer of the Company, and I, Barbara Lilley, the Chief Financial Officer of the Company, do hereby certify pursuant to 18 U.S.C. &#167;1350, as adopted pursuant to &#167;906 of the Sarbanes-Oxley Act of 2002, 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;the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended; and</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;the 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><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Dated: September 13, 2024</p></td><td style="vertical-align:top;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Alexander Shen</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Alexander Shen</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Chief Executive Officer</p></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;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></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;">Dated: September 13, 2024</p></td><td style="vertical-align:top;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Barbara M. Lilley</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Barbara M. Lilley</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Chief Financial Officer (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-97.1
<SEQUENCE>9
<FILENAME>tpcs-20240331xex97d1.htm
<DESCRIPTION>EX-97.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 9/13/2024 08:59:47 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="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><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 12pt 0pt;"><b style="font-weight:bold;">Exhibit 97.1</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;">TECHPRECISION CORPORATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Clawback Policy</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><font style="font-style:italic;font-weight:bold;">(Adopted November 16, 2023)</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">This TechPrecision Corporation Clawback Policy (&#8220;<b style="font-weight:bold;">Policy</b>&#8221;) applies to all Executive Officers (as defined below) of TechPrecision Corporation and its subsidiaries and affiliates (&#8220;<b style="font-weight:bold;">Company</b>&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">This Policy shall be effective as of October 2, 2023, the Effective Date of Rule 5608 of the Nasdaq Stock Exchange&#8217;s listing standards (the &#8220;<b style="font-weight:bold;">Effective Date</b>&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Definitions</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">For purposes of this Policy, the following definitions will apply:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">&#8220;Board&#8221; </b>means the Company&#8217;s Board of Directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">&#8220;Committee&#8221; </b>means the Compensation Committee of the Company&#8217;s Board of Directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">&#8220;<b style="font-weight:bold;">Excess Compensation</b>&#8221; means any amount of Incentive-Based Compensation Received by an Executive Officer that exceeds the amount of Incentive-Based Compensation that otherwise would have been received had it been determined based on the restated financial information or properly calculated financial measure. Excess Compensation shall be calculated on a pre-tax basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">&#8220;<b style="font-weight:bold;">Executive Officer</b>&#8221; means the Company&#8217;s officers for purposes of Section 16 under the Securities Exchange Act of 1934, as amended (the &#8220;<b style="font-weight:bold;">Exchange Act</b>&#8221;) during any portion of the performance period of the Incentive-Based Compensation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">&#8220;<b style="font-weight:bold;">Incentive-Based Compensation</b>&#8221; means any non-equity incentive plan awards, bonuses paid from a bonus pool, cash awards, equity or equity-based awards, or proceeds received upon sale of shares acquired through an incentive plan; provided that, such compensation is granted, earned, and/or vested based wholly or in part on the attainment of a financial performance measure, as determined in accordance with Section 10D of the Exchange Act and the Nasdaq Stock Exchange listing standards (the &#8220;<b style="font-weight:bold;">Clawback Rules</b>&#8221;). Incentive-Based Compensation does not include any salaries, discretionary bonuses, non-equity incentive plan awards earned upon satisfying a strategic measure or operational measure (e.g., completion of a project), or equity equity-based awards that are not contingent on achieving any financial reporting measure (e.g., time vested stock options, restricted stock or restricted stock units).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">&#8220;<b style="font-weight:bold;">Lookback Period</b>&#8221; means the three (3) completed fiscal years immediately preceding the earlier of the date on which (a) the Board or appropriate committee concludes or reasonably should have concluded that an accounting restatement is required or (b) a regulator directs a restatement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">&#8220;<b style="font-weight:bold;">Received</b>&#8221; means any Incentive-Based Compensation that is received during the fiscal year in which the applicable financial reporting measure upon which the payment is based is achieved,</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">1</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">even if payment or grant of the Incentive-Based Compensation occurs after the end of such period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Clawback Due to Accounting Restatement</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In the event the Company is required to prepare an accounting restatement of its financial statements due to the Company&#8217;s material noncompliance with any financial reporting requirement under the securities laws, the Committee or the Board shall require reimbursement or forfeiture (&#8220;<b style="font-weight:bold;">clawback</b>&#8221;) of any Excess Compensation Received by any Executive Officer (current or former) during the applicable Look-Back Period, regardless of whether the Executive Officer engaged in misconduct or was otherwise directly or indirectly responsible, in whole or in part, for the accounting restatement. Covered accounting restatements include those that either (a) correct an error in a previously issued financial statement that is material to such previously issued financial statement or (b) correct an error that is not material to a previously issued financial statement but would result in a material misstatement if left uncorrected in a current report or the error correction was not recognized in the current period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In the event the Committee or the Board cannot determine the Excess Compensation from the information in the accounting restatement or from the recalculated financial measure, then it will make its determination based on a reasonable estimate of the effect of the accounting restatement or recalculation. Such determination will be final and binding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Clawback Method</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Committee or the Board may determine, in its sole discretion, the method for the clawback of any amounts due under this Policy, which may include, without limitation direct payment from the Executive Officer, recovery over time, the forfeiture or reduction of future pay or awards, or any other method that will provide for recovery within a reasonable manner and without undue delay. The Company may enter into deferred payment plans with Executive Officers to effectuate clawback to avoid unreasonable economic hardship. Any amounts due under this Policy may be deducted as an offset from amounts due to the Executive Officer from the Company, except to the extent such set-off is prohibited by law or would violate Code Section 409A and the regulations thereunder.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Committee or the Board thereof shall not be required to seek to clawback amounts due under this Policy if such clawback would be impracticable, violate home country laws, and/or involve tax qualified retirement plans, as determined by the Committee or the Board in accordance with the Clawback Rules. Any determination that clawback is not required shall be documented by the Committee or the Board.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">General</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company shall not indemnify any Executive Officer against the loss of any covered compensation as a result of the application of this Policy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">This Policy is in addition to (and not in lieu of) any right of repayment, forfeiture or right of offset against any employees that is required pursuant to any statutory repayment requirement</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">(regardless of whether implemented at any time prior to or following the adoption or amendment of this Policy), including Section 304 of the Sarbanes-Oxley Act of 2002. Any amounts paid to the Company pursuant to Section 304 of the Sarbanes-Oxley Act of 2002 shall be considered in determining any amounts recovered under this Policy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The terms of this Policy shall be binding and enforceable against all Executive Officers subject to this Policy and their beneficiaries, heirs, executors, or other legal representatives. If any provision of this Policy or the application of such provision to any Executive Officer shall be adjudicated to be invalid, illegal or unenforceable in any respect, such invalidity, illegality or unenforceability shall not affect any other provisions of this Policy, and the invalid, illegal or unenforceable provisions shall be deemed amended to the minimum extent necessary to render any such provision (or the application of such provision) valid, legal or enforceable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Each Executive Officer shall sign and return to the Company, within 30 calendar days following the later of (i) the Effective Date or (ii) the date the individual becomes an Executive Officer, the Acknowledgement Form attached hereto as Exhibit A, pursuant to which the Executive Officer agrees to be bound by, and to comply with, the terms and conditions of this Policy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">To the extent the Clawback Rules require recovery of Incentive-Based Compensation in additional circumstances beyond those specified above, nothing in this Policy shall be deemed to limit or restrict the right or obligation of the Company to recover Incentive-Based Compensation to the fullest extent required by the Clawback Rules.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Exhibit A</u></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;">Clawback Policy</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;">Acknowledgement and Agreement Form</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">By signing below, I acknowledge and agree that I have received, reviewed and had the opportunity to ask questions regarding the Policy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Furthermore, I acknowledge and agree that I am fully bound by, and subject to, all of the terms and conditions of the Policy, as may be amended, restated, supplemented or otherwise modified from time to time. I acknowledge and agree that my execution of this Acknowledgement and Agreement Form is in consideration of, and is a condition to, [my continued employment and] my receipt of future awards from the Company, though nothing in this Acknowledgement and Agreement Form shall obligate the Company to make any particular award. In the event of any inconsistency between the Policy and the terms of any employment agreement to which I am a party, or to the terms of any compensation plan, program, agreement or arrangement under which any incentive-based compensation covered by the Policy is payable, the terms of this Policy shall govern and shall be deemed incorporated into all such plans, programs, agreements (including any employment agreements) or arrangements, including and without limitation, those granted or awarded prior to the date hereof and those granted or awarded in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In the event any Incentive-Based Compensation is subject to recoupment or recovery under the terms of the Policy, I will promptly take any action necessary to effectuate the recoupment or recovery of such compensation by the Company.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:bottom;width:50.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">EXECUTIVE OFFICER</b></p></td></tr><tr><td style="vertical-align:bottom;width:50.84%;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:bottom;width:49.15%;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></tr><tr><td style="vertical-align:bottom;width:50.84%;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:bottom;width:49.15%;border-bottom:1px solid #000000;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></tr><tr><td style="vertical-align:bottom;width:50.84%;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:bottom;width:49.15%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Signature</p></td></tr><tr><td style="vertical-align:bottom;width:50.84%;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:bottom;width:49.15%;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></tr><tr><td style="vertical-align:bottom;width:50.84%;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:bottom;width:49.15%;border-bottom:1px solid #000000;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></tr><tr><td style="vertical-align:bottom;width:50.84%;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:bottom;width:49.15%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Print Name</p></td></tr><tr><td style="vertical-align:bottom;width:50.84%;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:bottom;width:49.15%;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></tr><tr><td style="vertical-align:bottom;width:50.84%;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:bottom;width:49.15%;border-bottom:1px solid #000000;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></tr><tr><td style="vertical-align:bottom;width:50.84%;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:bottom;width:49.15%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date</p></td></tr><tr><td style="vertical-align:bottom;width:50.84%;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:bottom;width:49.15%;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></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 style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">4</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>10
<FILENAME>tpcs-20240331x10k014.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 tpcs-20240331x10k014.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" $7 78# 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#]/=)TRRFT
MJSD:S@9FA1B6B&22HZY%6O['L/\ GRMO^_2_X4FB\Z-8<D_Z/'R1@_=%7: *
M?]CV'_/E;?\ ?I?\*/['L/\ GRMO^_2_X5<HH I_V/8?\^5M_P!^E_PH_L>P
M_P"?*V_[]+_A5RB@"G_8]A_SY6W_ 'Z7_"C^Q[#_ )\K;_OTO^%7*\Y_X:#\
M#)=7$$^HW]B+:[6QN;B^T:]MK>VG;&U)9I(5CC)W*1N8<,#T(H [K^Q[#_GR
MMO\ OTO^%']CV'_/E;?]^E_PKD;GXT^&+;6[_2-NNW&HV! N(;3PYJ-QL!)"
MMNCMV!5MK;6!*L!D$BM._P#B5X<TW0]+U6;4&:VU5%DL(8+:66YNPP#?NK=%
M,KD*0Q"H2HR3@ F@#;_L>P_Y\K;_ +]+_A1_8]A_SY6W_?I?\*SO"WC?1O&:
MW8TJZ=Y[-Q'=6ES;R6US;L1E1)#*JR)N'(W*,CD9%2^*?%VE>#--6^U:Y:"&
M25+>)(H9)YII78!4CBC5GD8D_=52< GH": +G]CV'_/E;?\ ?I?\*/['L/\
MGRMO^_2_X5'H.NV7B;2;?4M.E::TG!V,\;1,""5961P&5@P(*L 0000"*T*
M*?\ 8]A_SY6W_?I?\*/['L/^?*V_[]+_ (5<HH I_P!CV'_/E;?]^E_PH_L>
MP_Y\K;_OTO\ A4]U<I9VLUQ()&CB0R,(HVD<@#)VJH+,?0 $GL*X+1/CWX(U
M^]L;6VU.Z@:^N7L[66_TJ[LX9KA"0T*RS1(AD!5ALW;L@C&>* .V_L>P_P"?
M*V_[]+_A1_8]A_SY6W_?I?\ "N'3X^>$)$OG5M>,=@[1WDG_  C.I[+9E4,P
MD;[/A,*03NQ@'/2NA\1_$+0O"MQ;6M]=3RWURGFQ6&GV<U[=-'WD\B!'D" \
M%RNT$@$Y(! -?^Q[#_GRMO\ OTO^%']CV'_/E;?]^E_PJIX8\5Z3XRTPW^CW
MBWENLC02#:R20RJ</')&P#1NIZHP##N!4/BKQMHW@R*U;5;IHY;N0Q6UK;P2
M7-S<,!DB*&)6D? Y.U3@<G H T?['L/^?*V_[]+_ (4?V/8?\^5M_P!^E_PK
M*\,>/M"\875W:Z7>/)>V:(]U9W%O+;W%L'+!!+%*JO&6V$@, 2NUL;64GH:
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
MX@#.C0_*[_Z0O"-M/W6]Q11\0!G1H?E=_P#2%X1MI^ZWN** -G1>=&L.2?\
M1X^2,'[HJ[5+1>=&L.2?]'CY(P?NBKM !17G&F>,/$-Y\8-0T*YDLK#2K>(M
M;V%Q:NL]W%L0FYBGW[) KML:-5^0$%B"5SO^ O$6I^(8-:_M:"TM[BQU6XLD
M2S=G3RTP4)9@"6PPSP!GH* .HHKR*X^,&K:59SZQ>6MI/I-_'>G2;6&-HYT>
MW;:BS2%V5O-Y;*JGE@8._.1;/CCQ2NIIX2,^D?\ "5F[6,ZD+&7[$(# 9C)]
MG\_?D%3%M\WD_/P/EH ]2HK@KCX@WEW\/M)U:PMH8-8U6>&QABN 9(8+AY/+
M=GP5+HA#G (+;0 1G(PIOB9XDN//T^QCTPZOH\=[<:H\UO)Y-RMNRJJ0J)08
MC,&#!F:01X((?K0!ZU17F6F?$[4=5UJWOX4M/^$5GU"+24C:%Q=^:\(D$YDW
M[=F]A'Y>S/5]^/EKTV@ HJM<ZE:6<@2>ZA@<C(620*2,XS@GUJ(:[IIQC4+0
MY_Z;K[>_N/SH O451&NZ:<8U"T.?^FZ^WO[C\Z!KNFG&-0M#G_INOM[^X_.@
M"]15$:[IIQC4+0Y_Z;K[>_N/SH&NZ:<8U"T.?^FZ^WO[C\Z +U%41KNFG&-0
MM#G_ *;K[>_N/SH&NZ:<8U"T.?\ INOM[^X_.@"]15$:[IIQC4+0Y_Z;K[>_
MN/SH&NZ:<8U"T.?^FZ^WO[C\Z +U%41KNFG&-0M#G_INOM[^X_.@:[IIQC4+
M0Y_Z;K[>_N/SH O451&NZ:<8U"T.?^FZ^WO[C\Z!KNFG&-0M#G_INOM[^X_.
M@"]15$:[IIQC4+0Y_P"FZ^WO[C\Z!KNFG&-0M#G_ *;K[>_N/SH O451&NZ:
M<8U"T.?^FZ^WO[C\Z!KNFG&-0M#G_INOM[^X_.@"]15$:[IIQC4+0Y_Z;K[>
M_N/SH&NZ:<8U"T.?^FZ^WO[C\Z +U%41KNFG&-0M#G_INOM[^X_.@:[IIQC4
M+0Y_Z;K[>_N/SH O451&NZ:<8U"T.?\ INOM[^X_.@:[IIQC4+0Y_P"FZ^WO
M[C\Z +U%41KNFG&-0M#G_INOM[^X_.@:[IIQC4+0Y_Z;K[>_N/SH O451&NZ
M:<8U"T.?^FZ^WO[C\Z!KNFG&-0M#G_INOM[^X_.@"]15$:[IIQC4+0Y_Z;K[
M>_N/SH&NZ:<8U"T.?^FZ^WO[C\Z +U%41KNFG&-0M#G_ *;K[>_N/SH&NZ:<
M8U"T.?\ INOM[^X_.@"]15$:[IIQC4+0Y_Z;K[>_N/SH&NZ:<8U"T.?^FZ^W
MO[C\Z +U%4XM9T^=U2.^MI';A56923TZ<^X_.KE ',_$ 9T:'Y7?_2%X1MI^
MZWN**/B ,Z-#\KO_ *0O"-M/W6]Q10!LZ+SHUAR3_H\?)&#]T5=JEHO.C6')
M/^CQ\D8/W15V@#@M5^'NJ:U\1M+UV[UFW;1],D^TVUDMEBY67RI(]IFWX\O$
MKGA QX!8C.5TWPWXH\*V.LM:ZCI^IWNI:N+R,+IK1I!&[*)%<-<_-A1]\'(Y
M(1^%KO** /-W^#:7K7MG?ZJ9M"$=TFFV<-OY<UFUPVZ1C*6;>4;/EX5=JDAM
M_!#O^%8ZP0-6;Q#:-XS%T+E=4_LPBT"B(P^4;;SMQ0H6/^MSYAW9P-E>C44
M>>'P!J*Z9%X=M;N.WTW3;>UN-.U*:VWS?;TD+F23$H\Q25RZ;(^)"%<Y.RO<
M_".^:U62U\0):ZS=K<PZM?"PW+=17#!I1%'Y@\IE*J(V8R;1D,),YKTNB@#@
M[7X6BQ\0PRV^H)%X<BNDU%=(%L=XNTB$2L)M^/*VA6\O9G>-V_'RUWE%% !1
M110 4444 %%%% !17S'=_MH3P74T<?P_NY(T<JKMJ<8+ '@D!"!^!/U-1?\
M#:MW_P!$\N?_  :)_P#&Z.:A_P _Z?\ X-I__)'1]5Q7_/BI_P""Y_\ R)]0
MT5\O?\-JW?\ T3VY_P#!HG_QNK _;6B"C=X$U,/CD+=1D9Y[X^E-.B]JU-_]
MQ*?_ ,D)X;$K>A/_ , G_P#(GTS17S.?VUH.<>!=5_\  F/W]OI^9].3_AM:
MWSSX%U7'J+B//?V^G^>K_=_\_8?^#(?_ "0O88C_ )\S_P# )?Y'TQ17SC_P
MVOHG_0G^(O\ OW%_\71_PVOHG_0G^(O^_<7_ ,75\B_GC_X''_,CV=7_ )]R
M_P# 9?Y'T=17SDO[;.@!U$GA#Q*JY&2D$3$#Z;ZL_P##:_A'_H6/%W_@OA_^
M/4U2OM*+_P"WH_YB<*BWA)?]NR_R/H2BOGO_ (;7\(_]"QXN_P#!?#_\>I\7
M[:GA"1PI\-^+(P?XFT^+ _*8T_8ONO\ P*/^8K3_ ))?^ O_ "/H&BO"$_;%
M\'R=-%\2#_>L8Q_.6IT_:Y\)/TT?7QQGFWA'\YJXZE:A2_B58+UG%?J=,,)B
MJOP49OTC)_H>X45XLG[5_A%R =/UI.<9:"'CWXE_SF@_M7^$0/\ D'ZT>O\
MRPB_^.UYL\WR^GO7C\FG^5ST(9+F53;#R^::_,]IHKP"[_;$\.6^-NE770L?
M-GC3&/Q/%8]S^VOID8(CT2#.WK)JBC!^@CYHCFN$G\#<O2,W^464\EQT?CBE
MZR@OSDCZ7HKY.O/VX-@/E:;IR<<;IWDY]?E K(N/VX-3<E8TT> $?>^RW#$'
MZ[L?I73'$U:G\+#59>E*?^1B\NY/XE>E'UJP_P S[(HKXT'[7>K7P!_X2K1=
M.W=CIUP=O_D)OZ]:7_AH_4+Q3YWQ:TBV1AG;%I-SN!],BS_K5<^/?PX"N_\
MN';\VA?4\*OBQM%?]OW_ "3/LJBOC4_&:PO<_:OCB\.X9/V?2KT<^@Q$O%?4
M'PMU*WU?P!H]W:Z\WB:"2-MNJNA0SX=@<@\C!!7GGY>>:UIK&WOB<+.E'HY)
M*[[;G/7IX2$5[#$PJ2[1OHN^J1U5%%%;G$%%%% !1110!S/Q &=&A^5W_P!(
M7A&VG[K>XHH^( SHT/RN_P#I"\(VT_=;W%% &SHO.C6')/\ H\?)&#]T5=JE
MHO.C6')/^CQ\D8/W15V@ HHHH **** "N2^*NCZKKO@;4+31[H6MV=DC9N9+
M;S8E<-)%YT8+Q;E!7>H)&>E=;69XB\/67BG1[C3;]93;3 9:WF>&5"#D,DB$
M,I![@B@#C_ASXZ\,VOACP]ICZV+&_N UK;Z;KE\OVXRHY1X1N8M*48;0P+9
M!W,""?0ZRO"_AC3O!VBP:5I<+0VD19OWDC22.[,6=W=B6=F8DEB222:U: *U
MS=2P2!4LYK@$9W1E !ST^9@?>HAJ-P<?\2R['_ HO;_II[_I5ZB@"B-1N#C_
M (EEV/\ @47M_P!-/?\ 2@:C<''_ !++L?\  HO;_II[_I5ZB@"B-1N#C_B6
M78_X%%[?]-/?]*!J-P<?\2R['_ HO;_II[_I5B[O(-/M9KJZGCMK:%#))-,X
M1$4#)9B>  .YK'/C[PP/#0\1'Q'I(\/D[1JQOHOLI.[9CS=VW[WR]>O'6@#(
MG^'OA>[GDFF\$VKRR,6=C!!DD]2?FJ/_ (5KX3_Z$>U_[\0?_%UX5J_[?VF^
M$->N-.\5?#OQ-H:I(WE,51GEB!($@5R@()!Z,1Z$UU.A?MX_"#6 OVG6;[16
M8?*NH:?+ST[Q!QW]>U:RR-K7ZNG?LD_RN>K[3'Q6DY?)O]&>F?\ "M?"?_0C
MVO\ WX@_^+JN?A-X/8Y/@F/G_KG_ /'*=H/[0'PU\2A?[.\=:!,[=(GOXXI#
M_P  <AOTKNK:YAO(5F@E2>%_NR1L&4_0BN&IEM"&E2@EZQ7^1D\9C8;U9+YL
MX+_A4W@_'_(DQ_\ D/\ ^.4A^$W@]@0?!"<^AC'_ +4KT.BLOJ&$_P"?,?\
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
M!>KG_''BO0/!&A/K7B.[M;*QM7#)+=,H_>D$*$W?QGD#\>V:TC#J7.+NT_\
M 5O?_II]/\]#R=2Y_P!+M?;_ $5O?_II]* / $NO#.B:-'-'J%E>Z#J.D:O:
MV+VDJ26S7US.)GLK=U.UW(?RT5"2WDL!RI%=&_BGPM>^*?#.D-J6GW7C+PWN
MNYK*UN8!=75[);/$]NJE@69B[2.W13&I8CDCUWRM1R?]*M<?]>S?_'*0PZEV
MN[4?6V;_ ..?2@#S'X.W-_)XY\:C4?#^HZ1>SI97%U+?26S>9,48''E3RD#&
M HR=J*JYX KURJ)AU+G%W:?^ K>__33Z?YZ!AU+G%W:?^ K>_P#TT^G^>@!>
MHJB8=2YQ=VG_ ("M[_\ 33Z?YZ!AU+G%W:?^ K>__33Z?YZ %ZBJ<<6H"12]
MS;-'GE5MV!(]CYAQV[5<H YGX@#.C0_*[_Z0O"-M/W6]Q11\0!G1H?E=_P#2
M%X1MI^ZWN** -G1>=&L.2?\ 1X^2,'[HJU+#'<1F.5%D0]5<9!_"JNB\Z-8<
MD_Z/'R1@_=%87C_Q[%X$LK)ETVZUF_OIS!:V%F\222L$9V.Z1U4 *K'D_0&@
M#<N=%LKS5++498%-]9AU@N%)5U5P Z$CJIPI*G(RB'&54B6[TZ"^FMI)@[&V
MD\V-1(RKNP0"R@X;&<@,#@@$<@$8UWXU@MQ!'%INI7MY):?;&LK> >="AX02
M!B C.V44$\D,>%1V5/"/CBT\6V&H3&SN]'N=-N7M+ZQU-426UD50^&*,R$%&
M1PRLP*N.>H !T=%<#:?&/2[K2;F].F:G"ZI!+96DJ1>=J,4[^7;R0 2$8D?@
M"0HPX+A00:?>?%_3;.PM9QIFISSN+A[RSA6$S:?';L%N))LR!2(V(!\MG+9&
MP..: .RMM.@M+F[GC#^;=.'E9Y&?D*% 7).U0!]U<#)8XRQ)LUS_ (F\8V_A
MVSL)(;.ZUJ[U"4165AIQB\ZX.TN2ID=$ "*S$LP&!ZD Y#_%S1FN-.%M!>7E
ME=007$VH0H@ALDG<QP><&<."[@KA%8K@EMHYH ZW5-,MM9L)[*\B\^TG79+$
M6(#KW4X/*GH1T()!R"15A$6-%1%"JHP% P /2N+C^*UA+>WT":7JDD<'G_9Y
MXHHY!J @<)<?9T5S(YC)Y4J&?!\L28KK["^M]4L;>\M)5GM;B-9HI4.5=&&5
M8>Q!!H GHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "JVHZ=;:OI
M]U8WL"75G=1-!/!*,I)&P(92.X()%6:*:=M4!\:_"W4;K]D3X[7/PUUF>1OA
M_P"*9OM.@7T[96VE8[0C-ZD[8V]Q&V &-?95>6_M'?!&R^.WPVO-$D"0ZM;Y
MN=,NV'^JN IP"?[C?=;Z@]5%<?\ LC?&Z]^(/AR^\(>*_,M_'OA9C::A%<'$
ML\:G8LI]6!&Q^O(#9^<"O9Q*^NT?K<?CCI/])?/9^?J=M3]_#VJW6_\ G_F?
M05%%%>*<04444 %%%% !1110 4444 %%%% !1110 4444 <S\0!G1H?E=_\
M2%X1MI^ZWN**/B ,Z-#\KO\ Z0O"-M/W6]Q10!LZ+SHUAR3_ */'R1@_=%<I
M\8=-.K^#I+7_ (1F?Q0K2H?(LY(DN8&'W9HC(Z!74]&5U9<Y'2NKT7G1K#DG
M_1X^2,'[HJ[0!Y+X6G\1>#+JYFUVPFUKQ'J6C61ACMI(P;NY@2030>:VR-7&
MX/R5#!I&13L8"YHNJ7S:5)::YX6O]$U+Q)=-;7$CS6;.TS0$%PJ7#[HTBC5!
MM+/B,LR* 6KTZB@#Q*/P7XHOX].U*XT1K:_\-6UE;06GVF$_VFT$H:9HB'(1
M'10(_,*-N/SA ,E\GA#Q1I[W^MVFA/<W_B"&^MIM.-S"&T\S.I@DE8N%9%5?
MW@C+L"1L#@9KVJB@#R^[%Y!<:2='T>]UB;P;,+&:V2:V5[R.2U"[HB9@JLNZ
M-BLI0[<D Y3=@6OPU\0Z/ITNB+IXO(M?@M!>WL-Q&(M.DCE9YPVXAW4J^(RB
M,2RG=L!!KV^B@#R;1-%U#PSJ5A_:]HUCHOAAKZ:/5"Z2+?B=SY2Q1HQDW!7(
M8,H)<*$#ALCL_AKI%UH7@?2K.]C\BZ5&D>'.3%O=G"''&5#!3CC(XXKIJ* *
MUS:RSL"EY-; #&(@A!]_F4_Y%1'3K@Y_XF=V/^ Q>_\ TS]_TJ]10!1.G7!S
M_P 3.['_  &+W_Z9^_Z4'3K@Y_XF=V/^ Q>__3/W_2KU% %$Z=<'/_$SNQ_P
M&+W_ .F?O^E!TZX.?^)G=C_@,7O_ -,_?]*O44 43IUP<_\ $SNQ_P !B]_^
MF?O^E!TZX.?^)G=C_@,7O_TS]_TJ]10!1.G7!S_Q,[L?\!B]_P#IG[_I0=.N
M#G_B9W8_X#%[_P#3/W_2KU% %$Z=<'/_ !,[L?\  8O?_IG[_I0=.N#G_B9W
M8_X#%[_],_?]*O44 43IUP<_\3.['_ 8O?\ Z9^_Z4'3K@Y_XF=V/^ Q>_\
MTS]_TJ]10!1.G7!S_P 3.['_  &+W_Z9^_Z4'3K@Y_XF=V/^ Q>__3/W_2KU
M% %$Z=<'/_$SNQ_P&+W_ .F?O^E!TZX.?^)G=C_@,7O_ -,_?]*O44 4?[/G
MS_R$KK_OF+_XBOE;]JGX=:W\,/%>G?'+P2\TFJ::PCUVW4*/M%L1MWL N" O
MR,2#@;&_@)KZWJ"]LK?4K.>TNX([FUN(VBEAE4,DB,,,K \$$$@BNS"XEX:H
MIVNMFNZ>Z-J51TI<W3KYHY;X?>*['XF^#=+\3:)K5W-IVH0B5,K#NC;D,C#9
MPRME2/5>_?HCIUP<_P#$SNQ_P&+W_P"F?O\ I7R!X O9_P!CGX]3^!=4FD/P
MV\73&XT:\E;Y+.8D#:Q.>A*QL<]/+<XY%?9M7C,,J$TZ;O"6L7Y?YK9E5J:I
MRO'X7JBB=.N#G_B9W8_X#%[_ /3/W_2@Z=<'/_$SNQ_P&+W_ .F?O^E7J*X#
MG*)TZX.?^)G=C_@,7O\ ],_?]*#IUP<_\3.['_ 8O?\ Z9^_Z5>HH HG3K@Y
M_P")G=C_ (#%[_\ 3/W_ $H.G7!S_P 3.['_  &+W_Z9^_Z5>HH HG3K@Y_X
MF=V/^ Q>_P#TS]_TH.G7!S_Q,[L?\!B]_P#IG[_I5ZB@"B=.N#G_ (F=V/\
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
MS_TP7W]O<_G0!>HJB="TTYSI]H<_],%]_;W/YT'0M-.<Z?:'/_3!??V]S^=
M%ZBJ<>C:?%(LB6-LDBG<&6%00?4''N?SJY0!S/Q &=&A^5W_ -(7A&VG[K>X
MHH^( SHT/RN_^D+PC;3]UO<44 ;.B\Z-8<D_Z/'R1@_=%7:I:+SHUAR3_H\?
M)&#]T5Q/QMNM?L/"]M<Z+=WMA:17*OJ=SI:1/>16X4_/&LBL&PVTLJJSE<A0
M3P0#T.BN"T?QFVIZB[IJR76BZ3IMO>7%[:P*W]I/,C%"@!;"!5#;4&YF= #A
M2KKX)\4:O-X?\4W^NM'+<Z?J%TJP0J L42(K+$"/O$9P6/4Y/ P  =Y17B2>
M-/%%A'IFFSZTUQ?>);:RN8;PP0C^S&GEVS)"HC 9$1E,?FASN4[RX. ]_%_B
M?4)M1T2VUR2UO/#\-]<RZAY$#/J!A=1 DJF+8JLK_O/+5&)4;"@.* /:J*X/
M7_$.H:];>$++2[Z;07\0 SR7END4LUO$L!E*Q^:C)N)VKED(VEL '!'%VGQ)
M\1ZOIDVM_;A9Q^'X+0WEA!'&8M1E>9DG+LR,RJ%3,>PKAF.[< !0![A17D>C
M^(_$NLWEC,FNO;IXC-]':0-:PO#IK0/^Y91M#R!E1O,#N<EOD,8%>A>#/$)\
M5^%]/U5H?LTMQ'^]A#;A'("5=0>X# @'O0!M456N;^*UD".LS$C.8X'<=<=5
M!%1#6;<X_=W?/_3G+[?[/O\ YQ0!>HJB-9MSC]W=\_\ 3G+[?[/O_G% UFW.
M/W=WS_TYR^W^S[_YQ0!>HJB-9MSC]W=\_P#3G+[?[/O_ )Q0-9MSC]W=\_\
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
MI;VL$:Q10QC"H@& H'8 "@!MS)=K(!!!#*F.3),4(.?0(>WO40FU+C-I:?\
M@4WM_P!,_K_GI>HH HB;4N,VEI_X%-[?],_K_GH";4N,VEI_X%-[?],_K_GI
M>HH HB;4N,VEI_X%-[?],_K_ )Z FU+C-I:?^!3>W_3/Z_YZ7J* *(FU+C-I
M:?\ @4WM_P!,_K_GH";4N,VEI_X%-[?],_K_ )Z7J* *(FU+C-I:?^!3>W_3
M/Z_YZ FU+C-I:?\ @4WM_P!,_K_GI>HH HB;4N,VEI_X%-[?],_K_GH";4N,
MVEI_X%-[?],_K_GI>HH HB;4N,VEI_X%-[?],_K_ )Z FU+C-I:?^!3>W_3/
MZ_YZ7J* *(FU+C-I:?\ @4WM_P!,_K_GH";4N,VEI_X%-[?],_K_ )Z7J* *
M(FU+C-I:?^!3>W_3/Z_YZ FU+C-I:?\ @4WM_P!,_K_GI>HH HB;4N,VEI_X
M%-[?],_K_GH";4N,VEI_X%-[?],_K_GI>HH HB;4N,VEI_X%-[?],_K_ )Z
MFU+C-I:?^!3>W_3/Z_YZ7J* *(FU+C-I:?\ @4WM_P!,_K_GH";4N,VEJ/\
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
MJ2FW()8)EQ?"'5=-@CTNUNK2YTO4X+5-9N)I&CF22&0R.\"!&#"7<5PS+Y>
MP+]*];HH \RTOPAJGA748;F[BCO=%T(W<FEQ:>7EO+IKA\A)(R@5/+#,@.]@
MV0[&,*176^ -!N/#/@_3=.NV1KN-"\WEG*"1V+L%/< L0#WQ7044 5KFPBNI
M [M,I QB.=T'7/12!40T:W&/WEWQ_P!/DOM_M>W^<U>HH HC1K<8_>7?'_3Y
M+[?[7M_G- T:W&/WEWQ_T^2^W^U[?YS5ZB@"B-&MQC]Y=\?]/DOM_M>W^<T#
M1K<8_>7?'_3Y+[?[7M_G-7J* *(T:W&/WEWQ_P!/DOM_M>W^<T#1K<8_>7?'
M_3Y+[?[7M_G-7J* *(T:W&/WEWQ_T^2^W^U[?YS0-&MQC]Y=\?\ 3Y+[?[7M
M_G-7J* *(T:W&/WEWQ_T^2^W^U[?YS0-&MQC]Y=\?]/DOM_M>W^<U>HH HC1
MK<8_>7?'_3Y+[?[7M_G- T:W&/WEWQ_T^2^W^U[?YS5ZB@"B-&MQC]Y=\?\
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
MKNFG&-0M#G_INOM[^X_.@:[IIQC4+0Y_Z;K[>_N/SJ]10!1&NZ:<8U"T.?\
MINOM[^X_.@:[IIQC4+0Y_P"FZ^WO[C\ZO44 4XM9T^=U2.^MI';A56923TZ<
M^X_.KE%% ',_$ 9T:'Y7?_2%X1MI^ZWN**/B ,Z-#\KO_I"\(VT_=;W%% "Z
M;XPTBTTVUBEO")(H51\Q.>0"#T7_ &3^563XVT5<YO>F<_NG[9_V?]D_E110
M 'QMHJYS>],Y_=/VS_L_[)_*@^-M%7.;WIG/[I^V?]G_ &3^5%%  ?&VBKG-
M[TSG]T_;/^S_ +)_*@^-M%7.;WIG/[I^V?\ 9_V3^5%%  ?&VBKG-[TSG]T_
M;/\ L_[)_*@^-M%7.;WIG/[I^V?]G_9/Y444 !\;:*N<WO3.?W3]L_[/^R?R
MH/C;15SF]Z9S^Z?MG_9_V3^5%%  ?&VBKG-[TSG]T_;/^S_LG\J#XVT5<YO>
MF<_NG[9_V?\ 9/Y444 !\;:*N<WO3.?W3]L_[/\ LG\J#XVT5<YO>F<_NG[9
M_P!G_9/Y444 !\;:*N<WO3.?W3]L_P"S_LG\J#XVT5<YO>F<_NG[9_V?]D_E
M110 'QMHJYS>],Y_=/VS_L_[)_*@^-M%7.;WIG/[I^V?]G_9/Y444 !\;:*N
M<WO3.?W3]L_[/^R?RH/C;15SF]Z9S^Z?MG_9_P!D_E110 'QMHJYS>],Y_=/
MVS_L_P"R?RH/C;15SF]Z9S^Z?MG_ &?]D_E110 'QMHJYS>],Y_=/VS_ +/^
MR?RH/C;15SF]Z9S^Z?MG_9_V3^5%%  ?&VBKG-[TSG]T_;/^S_LG\J#XVT5<
MYO>F<_NG[9_V?]D_E110 'QMHJYS>],Y_=/VS_L_[)_*@^-M%7.;WIG/[I^V
M?]G_ &3^5%%  ?&VBKG-[TSG]T_;/^S_ +)_*@^-M%7.;WIG/[I^V?\ 9_V3
M^5%%  ?&VBKG-[TSG]T_;/\ L_[)_*@^-M%7.;WIG/[I^V?]G_9/Y444 !\;
M:*N<WO3.?W3]L_[/^R?RH/C;15SF]Z9S^Z?MG_9_V3^5%%  ?&VBKG-[TSG]
MT_;/^S_LG\J#XVT5<YO>F<_NG[9_V?\ 9/Y444 !\;:*N<WO3.?W3]L_[/\
MLG\J#XVT5<YO>F<_NG[9_P!G_9/Y444 !\;:*N<WO3.?W3]L_P"S_LG\J#XV
MT5<YO>F<_NG[9_V?]D_E110 'QMHJYS>],Y_=/VS_L_[)_*@^-M%7.;WIG/[
MI^V?]G_9/Y444 !\;:*N<WO3.?W3]L_[/^R?RH/C;15SF]Z9S^Z?MG_9_P!D
M_E110 'QMHJYS>],Y_=/VS_L_P"R?RH/C;15SF]Z9S^Z?MG_ &?]D_E110!B
=>+]?T_5]-2&TE>XD28,RH&0@889R<=Z*** /_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>11
<FILENAME>tpcs-20240331x10k015.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 tpcs-20240331x10k015.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" $J 6H# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
MG:^#M+8. #IO['L/^?*V_P"_2_X4?V/8?\^5M_WZ7_"KE% %/^Q[#_GRMO\
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
M@'4,K '.2,@C/!SC%>Z7/P?\!WCEKCP3X=G8PQVY:328&)B0*$3E/NJ$0 =
M%7'04:;\)?!?A^]34-%\'^'=)U2$,;>]MM)@22)B",@JJMT)!P1D$C- ')?#
M;7?$.M>(8M"U'Q#>76H^%WNHM>,EM;QB]:1LV9(6$;5,69 (RI'RAB^37K=8
MGA;0KK1K:ZEU*^CU+5;V;S[JYA@,$18*J*L<9=RBA548+-SN.<L:VZ "BBB@
M HHHH *\FUI,ZS?_ +J<_P"D2<B7 ^\?]JO6:\FUI,ZS?_NIS_I$G(EP/O'_
M &J /3-%YT:PY)_T>/DC!^Z*NU2T7G1K#DG_ $>/DC!^Z*NT %%%% !1110
M4444 %%%% !1110 4444 %%%% !7E_[3>E6.J_ ?QK]NL[>\^S:9/<0?:(U?
MRI50[9%ST89.".1FO4*YOXA^"(?B-X2O_#UUJ=_I=E?(8;F33O*$DD1!#1YD
MC< $'D@ \<$4 >+^!].CT/XC3^(/ WA6_P!(\+V_AECJEH]B^C6U_>AMT CC
MG6-6D"JX:4@( XR_.*76OCW;>*M*U72M<\'1:G!:7>CR!]+U622SE6XNP(IA
M,\,+.B21J08ED5S@9QN(]CU7P#;:_P##V]\(:MJ-_J-I>64EC->R-''<LC C
M=F-%0, 1C"8X&0><\/K/[-UIK]Y<7=[XW\4S75S%:0W$I^P9E6VF,T&1]DP-
MKG/R@!L?-GG(!QWQO\7:EX^\)07FG:+&_A:R\46=F-4_MAXI97BOHXG?[*L9
M26+S04&]R<C>$X!KU[XK^-M4^'GA277=/T>UUBWM74WHN;YK46\)(#396&0L
MJ9W,, A02,D8KF]8_9YT_4[;4;*W\5^(]*T>_P!175I-+M)+5[=;H2+*73S;
M=W0-*GF% VS<6PH!Q7IMQI\-[ILEC>*+VWFA,,RSJ#YRE<-N  '(SD  <T >
M<^-?C%>^$'O)SI&FG18[VWL(]9O=4D@M5EDCWLT[K;N(8U)2,2?,"[J#MY([
M>P<^+/",#WB16YU*R!E2SN1<1IYB<^7+@!QSPV #P<=JQH/AI#I7@S2/#>B:
MYJV@VNFJ$6YM#!+-.NTJ1+Y\4B-NW;C\H.0,$=*V_"7A>Q\%>&M.T+3%9+&P
MA6&(.<M@=S@ <G)P  .@ &!0!XQIGP3\!R_&7Q'I$?A31X+2W\/:;);FWL8D
M>WE,]T#*C;<K)\B$OU.U<YQ61XAMK#P+XNU_4O'/AZ34=!U+5&FM?B#I$I>?
M3T9]HM+LJ?,BBB:/9QF(@J&7<7KVC3_AZ+#XA:AXM&O:K/<7MM':2:?*+?[*
ML2%C&JXA$@VM(YSOR2QSD8 R]6^#-AJT=_9OKNN0Z%J5Q)<ZAHB7$;6UVTDA
M>0$O&TL:-G!2*1%(SQEG+ 'B/Q8\/^%XO'GQ*2[\"V.IG4K+38(]:>WMTM]-
MN;DSQBXGESYT8+E&:2-&/R98CBOI?P=I=_H?A+1=.U2_;5-2M+*&"YOG)+7$
MJH%>0D\DL03D\\USL/PELO\ A*O$6LWFKZEJ<&OVHLKW2+M;8V;0J'"( L*N
M HD<??R<_,6P,;'@;P>W@?1$TL:YJNN6\.%@?5WBDEAC P$#I&A8#U?<WO0!
MT5%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5Y-K29UF_P#W4Y_T
MB3D2X'WC_M5ZS7DVM)G6;_\ =3G_ $B3D2X'WC_M4 >F:+SHUAR3_H\?)&#]
MT5=KB?&?C1_ 'PT76X[:.Z>&&! ;J0PPQERJ^9,X4E(USEB%. .GID^)_C"_
M@_P_H)U2RTZU\2:L0L=C=:O';VD8# /,]PZY$0W+C$9<ET79DG !Z917 S_%
M"2RUUX;K388="ANAIMQJBW3,R7GD^:5$?E@&(#">87!WG&S +5<\$>/KCQ3=
MM;W^E+I,D]G'J=BJW!F::TD8A6D^11'*,+NC!<#>N';G !V5%>:R?&:.Q-W>
M7^E&#0WCNWTVZAG,D]XULP616BV!8RQR8_G;>JDG8< R_P#"S=85ET=_#]HO
MC)KI;==-_M)_L>PP^=YIN?(W; @9>(B?,7;T(:@#T6BLKPMX@@\5>'K#5K='
MBCNH@YBD&&C;HR'W5@0?I6K0 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%<3\5/'M
MYX#TS3'T^QM;R\U&]2RB;4+EK>V1F!(#R*CD%B-BC;RS ?4 [:BN5N?&-[9^
M)O#&D3Z))$-7AFDFN6N4*VLD:!O*P,ER>>1A<#.<\5B/\7!;ZUXMBGL8$TSP
M_"9'Q/,M_.?N@K;R0(AC9UE19$E8$ICJ2% /1:\FUI,ZS?\ [J<_Z1)R)<#[
MQ_VJ[7P=XHO-=;4;+5M/@TK6M.D1+FUMKEKF+:Z!T9)6CC+ @D'Y1AD8<C!/
M%:TF=9O_ -U.?](DY$N!]X_[5 ';:E%JLG@E4T:.UN-0-HH2*]=HXY?DP5+J
M#L)_O;6 ]*\PL?@UXBT_PSIUO'!H5Q<OIU]I-SI]W-*;>RM;A]R+ _ELSB)=
MR;"$#A\!HU517LNBC;HU@,!<6\? Z#Y15V@#RN'X3ZC'=KHSW-O/X2:Z3499
MVF<7KRB 1>3LV;=A=5E\S?GJFS'S5)HV@^)?!T::G>VMCJEY8VEKH=E!9S3?
MOX!* UQ)B%BCL"I\L HFPYEVL63U"B@#R2X^$.JZK!/HUY>6EOHEC'>_V3<P
M.TEPTEP^]&FC*JJB'+* ';S 03LQ@VO^$&\4-J \6M#I \7+="3^SA>R_83
M(##Y?G^3O!^8R[O*ZX3&/FKU&B@#%\&>'CX4\+Z?I3S"YE@C_>S!=H>1B6=@
M.P+,V!DX&!D]:V'02(RG(!&#@D'\QTIU% %$:-;C'[R[X_Z?)?;_ &O;_.:!
MHUN,?O+OC_I\E]O]KV_SFKU% %$:-;C'[R[X_P"GR7V_VO;_ #F@:-;C'[R[
MX_Z?)?;_ &O;_.:O44 41HUN,?O+OC_I\E]O]KV_SF@:-;C'[R[X_P"GR7V_
MVO;_ #FKU% %$:-;C'[R[X_Z?)?;_:]O\YH&C6XQ^\N^/^GR7V_VO;_.:O44
M 41HUN,?O+OC_I\E]O\ :]O\YH&C6XQ^\N^/^GR7V_VO;_.:O44 41HUN,?O
M+OC_ *?)?;_:]O\ .:!HUN,?O+OC_I\E]O\ :]O\YJ]10!1&C6XQ^\N^/^GR
M7V_VO;_.:!HUN,?O+OC_ *?)?;_:]O\ .:O44 41HUN,?O+OC_I\E]O]KV_S
MF@:-;C'[R[X_Z?)?;_:]O\YJ]10!1&C6XQ^\N^/^GR7V_P!KV_SF@:-;C'[R
M[X_Z?)?;_:]O\YJ]10!1&C6XQ^\N^/\ I\E]O]KV_P YH&C6XQ^\N^/^GR7V
M_P!KV_SFKU% %$:-;C'[R[X_Z?)?;_:]O\YH&C6XQ^\N^/\ I\E]O]KV_P Y
MJ]10!1&C6XQ^\N^/^GR7V_VO;_.:!HUN,?O+OC_I\E]O]KV_SFKU% %$:-;C
M'[R[X_Z?)?;_ &O;_.:!HUN,?O+OC_I\E]O]KV_SFKU% %$:-;C'[R[X_P"G
MR7V_VO;_ #F@:-;C'[R[X_Z?)?;_ &O;_.:O44 41HUN,?O+OC_I\E]O]KV_
MSF@:-;C'[R[X_P"GR7V_VO;_ #FKU% %$:-;C'[R[X_Z?)?;_:]O\YH&C6XQ
M^\N^/^GR7V_VO;_.:O44 16ULEK'L0R,.N9)&<_FQ)KF/B;I>L:WX5N;#2=.
MTW5Q= PW-AJ<[01S1-PPWJCX]P4(()Y%=910!YOI_@SQ/IEQ\/$>6PU2+0[9
MXM1O;B\E29V:(1YC4QOOQUR[@GN<\U+KO@G6/'<VIG68=.T?;8W&GZ?-874E
MVY$KQN)9 T<07!@B/EC<#D_-Z^AT4 <KX)T+5K2ZU;6->2R@U?4WBWVVG3O-
M!#'&FU )'1&8D[V)*C&X+SMW-R&M)G6;_P#=3G_2).1+@?>/^U7K->3:TF=9
MO_W4Y_TB3D2X'WC_ +5 'IFBC;HU@,!<6\? Z#Y15VN(\::[J_ACX9K?:):>
M??1PVZ_+:O="!"5#R^2A#RA%);8O)Q6%K7CSQ'IG@+P[JEO>:=<I<*);_P 1
MVNG->V$,!'RS&%;F-PK;E)9&D" ,3\HW  ]4HKS2_P#B5J6F:]=WDZVG_"+6
MNH_V/(BP/]K,PA\QIP^_;LWD1^7LS_%OQ\M7_A_XQUK6+Z*TUU+(37VG1:Q:
M"QB9!#$[$&"3<[;W3Y,R#:&W'"+MY .\HKR*X^,&K:59SZQ>6MI/I-_'>G2;
M6&-HYT>W;:BS2%V5O-Y;*JGE@8._.1;/CCQ2NIIX2,^D?\)6;M8SJ0L9?L0@
M,!F,GV?S]^05,6WS>3\_ ^6@#U*BL7P9XA/BOPOI^JM#]FEN(_WL(;<(Y 2K
MJ#W 8$ ]ZV'=8T9W8*JC)8G  ]: '451&NZ:<8U"T.?^FZ^WO[C\Z!KNFG&-
M0M#G_INOM[^X_.@"]15$:[IIQC4+0Y_Z;K[>_N/SH&NZ:<8U"T.?^FZ^WO[C
M\Z +U%41KNFG&-0M#G_INOM[^X_.@:[IIQC4+0Y_Z;K[>_N/SH O451&NZ:<
M8U"T.?\ INOM[^X_.JE]XT\/:8NZ\U[3+1>#F>\C0<].II-VW)E*,%S2=D;-
M%>=:Q^T1\-=##&X\9:7)CD_8Y?M/I_SR#9Z_YQ7%ZQ^VK\-=-)%O<:GJV.]G
M9%<_]_2G^363K4X[R1X];.\LP_\ %Q,%_P!O*_W7N>\T5\S2?MGS:H?^*<^'
M&N:PI'RL[%/H<(C^_?M47_"Z_C?XB&=(\!:/I<3#[^I72AD'K\\T?/(_A]>/
M2/K$'\-WZ)G#_K)@)Z4.>H_[L)O\;6_$^GJ*^8C8?M ^(\^?XY\+^'HF.&AA
M:-G'?@B)SV_O"D'[/GBK7AGQ#\<-0GC)^>VM)6"$8YY,P'3(^[_A1[63^&#_
M  0?VOBZO^[X&H_\3A#\Y7_ ^E+_ %.STJ'S;V[@LXO[\\BHOYDUQNK_ !W^
M'FAJ3=>,M') R5M[I9V'_ 8]QKR>Q_8Y^&\<IN-3\1:IJT[$EVFOXE5O4G"[
MO_'NU=CI'[.?P?T<J8M#T^XD'\5W>O/GZAG([>E'-7>T4OF'M\]K?!0IT_\
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
MA^(-1GA71I3J,=_>M<I;W3R)]GFC1R5B(0SLR(%3"QY'0T >R5Y-K29UF_\
MW4Y_TB3D2X'WC_M5T?@!)-(UOQ+X?2[O+ZPTV2W:WEO[J2ZF3S(@SHTLC,[?
M,"WS$X$F!A0HKG-:3.LW_P"ZG/\ I$G(EP/O'_:H [JZ\/6?BKPA!INH++Y$
MUO'DV\[PR(0 0R2(0RD'N"*98?#_ $+3O"?_  C<5FQTDY,D<DSM)*Q?>SO(
M6WLS/EBQ.22<UJZ*-NC6 P%Q;Q\#H/E%7: ,)_ ^BOXI7Q$UHQU55 #^?)Y6
M[:4$GD[O+\W82GF;=^WY=VWBLI?A=I.G:?=6VBFXTA[JXAFDFCO+DNJ1R;A%
M&1*#'& 7"Q*?*7>?W; LI[*B@#G+?X>>'K?5-3U :<))]222*X2>5Y82LF/-
M"1,Q2,2$ OL5=Y +;CS55?A7X;3P^=&6UNQ:F<71N/[1N?MGF@;0_P!J\SSM
MP4;,[_N?)]WBNMHH @L;&WTRR@L[2%+>U@C6**&,85% P !V %3T44 %%%%
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
M$C@9? X&2<"J0\!>&5\-GPZ/#NDCP^3N.E"QB^RD[M^?*V[?O?-TZ\]:WJ*
M&HBQHJ(H55& H& !Z4ZBB@ HHHH **** "O*?$_PZ\>W.O7NH:)XZ>V@GDWQ
MV=Q&=D(_NC[PP/I]?6O5J*X\3A:>+BHU&U;LVOR:.W"XNIA).5-)WTU2:_%,
M\5^R?&_23_Q^Z+K6/]E%S_X['Z_I^9_PL;XK:5G^TO ,%UCK]@D)_P#07D]1
M^OX>U45YW]F3C_"Q-1>K4O\ TI/\STO[5A/2KA:;]$X_^DM?D>*G]HZYTW_D
M-^!=:TO')X+8_P"^T3VJ_8?M/^";S'G/J%CG_GXMLX_[X+5ZW6?J'A_2]6S]
MNTVSO,]?M$"29_,4?5LRA\&)4O\ %!?^VM?D'UK+)Z3PSC_AF_RDG^9S%A\;
M/ VI$>3XDM$S_P _&Z'_ -# KH]/\4:-JV/L.KV-YGI]GN4DS^1K U#X->"=
M3W>=X:L4SU^SH8?_ $ BN;U#]F3P/>Y\FWO;#/\ S[W1./\ OO=1SYK#>%.7
MHY1_-/\ ,.3**FTZD/51E^37Y'J]%>*_\,UC3CG1/&>M:61]WYMV/3[A3T7\
MOR/^%8?$_1_^07\0A>;>G]H(QS]=PD]!^M'U[&0_B85_]NRB_P!4P^H8*?\
M"Q<?^WHRC^C1[517BN_XWZ+_  :+KVWO\B;OUC_IUH_X6K\2M(_Y"GPZDN\'
MG^SV<Y^FWS*/[7I1_BTIP]8/]+A_8U67\&K3GZ37Y.QZAXO\8:7X'T2;5-5G
M$-O'PJ+@O*W9$'=C_P#7.!S7C>A>&-9^/NM1>(?$Z2:?X3@;-CI:L09QZY]#
MW?J>BX'(M>&?AYKGQ5\1+XH\>P26EA"W^@Z#("H !_C4\@<<YY8CG"X!]R1%
MC1410B*,!5& !Z5A&E4S:2J5TXT5M%[R\Y>7:/7=G3*K2R>+IX=J5=[R6JAY
M1\^\NFR&V]O%:01P01)##&H1(XU"JJCH !T%2445]&E;1'S#=]6%>8?M"_"*
M/XN^ IK2W54UZQ)N=,G)VD2CJA/8.!CV.T_PUZ?14SBIQ<7LSCQ>%I8VA/#5
MU>,E9_UW73S/)/V;?BT_Q/\ !!@U-BGB?1F%GJ4,@P[,,A92.V[:<_[2M[5Z
M3J7AK2-9).H:597Q/_/S;I)_Z$#Z"OG#XT:5=? /XMZ;\5-$@9M#U.46FO6D
M0X);J^/]H*&S_?3D_/BOI?2]4M=;TVUU"QG2ZLKJ)9X)HSE9$895A]016="I
M*-X-^\OZN>+D^)J2C/ 8QWJT=&_YH_9G\UOYIG':A\"?AWJ9S/X*T0$\DPV2
M1$\YZH!7+ZC^R+\*[]6V^&VM'/&^WOIU(XQT+E??IVKV.BO4ACL53^"K)?-G
MNRP]&7Q03^2/GT?L1^ 8-2@O;._\0:?)"XD06UZ@P0<CYC&6'U!!KZ"HHJ:^
M+KXJWMIN5MKCI4*=&_LXVN%%%%<AN%%%% !7GGQMN]?L/"]M<Z+=WMA:17*O
MJ=SI:1/>16X4_/&LBL&PVTLJJSE<A03P?0ZP/&GA:;Q;I0M+?6K_ $&97#"Z
ML/+9B.ZLDJ.C ^ZY&."* .?;7]3E\3> ?L>NVVH:)J5K.T[6]LN+UA"'CF#Y
M.U>^U1SGKCBN/O\ XF>(-$TX>(3>B]AUE+]+/3)XHQ!8O"^V @JHD8,JDR!G
M;YF^3:!@]Y;?#"TT^X\)M9:MJ=G;>'(FAM[1&A=+@%-C&9GC9R2.ZLO7--3X
M3:,;O4VN9;N]L+V*XBCTV=D^SV:W#!KCR=JAP9&&XEF;:<A-@)% $O@6]U*W
MU37= U/4YM;ETQX'CU&Y2*.65)8]VUUB1$RK*^"JCY2N<D$GEM:3.LW_ .ZG
M/^D2<B7 ^\?]JN[\)^$H_"MO<AM0O=8OKN02W.HZB8S/,0H10?+1$ 55  50
M.I.69B>$UI,ZS?\ [J<_Z1)R)<#[Q_VJ .VOO%&G^#_!EOJNIRRK;101*!%"
MTLLKL %1(U!9G8D *!FL^[^+_A;3]+TW4;N]N;:TO@"LDEA<8M\N$S<8C/V<
M;SM)EV#(//!Q'XWL].O/AA)%JUA>:E9"VB=UL4D:>-E 994$1$F58 YC^88X
M%<&GC.YOOA?I^@>)]'\07R:S%/9SWD.@7;/]@RT8EE2")_+E>/HN%.2&*H/E
M !ZL?&^C#Q,- ^U.=2*[L"WD,(.PN(S-M\L2; 7\LMOV_-C;S2^&O&NC^+VN
MQI5S)<?9F <R6\L(=26"R1EU421L4;;(FY&VG#'!KR_4M"U'6-2N_#\>F7MI
M=7NMC6X]0DM7$$-L;8#+3 ;!(KCR?+W;\88#9S5WP1?'2KNTU74-*U'2;71]
M$M=#N1)ITY)N1)AA&%0EXH\#]\H,>),AL!L '>6_Q#\/W.HZG9+J&R33D>2X
MFFADC@"I@2%)F41R;"RA]C'82 V#Q59?BCX=;0/[7$][]G,XM1;G3+H7C2D!
M@@M?+\XG:0^ GW#N^[S7E.J>$-8UW2!X<M])NAJ&AQZH\\\\#Q079FD+11Q3
M, DGG*VYMI.P@A\' .N9)Y/&*_$$:1JPT-;U4-J=+N!>[1:-%]H^R[/-.)'\
MO[F[;EON<T >R6%];ZI8V]Y:2K/:W$:S12H<JZ,,JP]B"#4]<O\ #+1[K0?
MFD65Y#]FN5C:1[?()AWNSB,XXRH8*<<9'&173.&*,$(5L<$C(!^E #J*HB'4
MN,W=I_X"M[?]-/K_ )Z@AU+C-W:?^ K>W_33Z_YZ@%ZBJ(AU+C-W:?\ @*WM
M_P!-/K_GJ"'4N,W=I_X"M[?]-/K_ )Z@%ZBJ(AU+C-W:?^ K>W_33Z_YZ@AU
M+C-W:?\ @*WM_P!-/K_GJ 7J*HB'4N,W=I_X"M[?]-/K_GJ"'4N,W=I_X"M[
M?]-/K_GJ 7J*HB'4N,W=I_X"M[?]-/K_ )Z@AU+C-W:?^ K>W_33Z_YZ@%ZB
MJ(AU+C-W:?\ @*WM_P!-/K_GJ"'4N,W=I_X"M[?]-/K_ )Z@%ZBJ(AU+C-W:
M?^ K>W_33Z_YZ@AU+C-W:?\ @*WM_P!-/K_GJ 7J*HB'4N,W=I_X"M[?]-/K
M_GJ"'4N,W=I_X"M[?]-/K_GJ 7J*H^3J7_/W:_\ @*W_ ,<H\G4O^?NU_P#
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
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
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
"_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>12
<FILENAME>tpcs-20240331.xsd
<DESCRIPTION>EX-101.SCH
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.7.0.1 -->
<!--Based on XBRL 2.1-->
<!--Created on: 9/13/2024 8:59:54 PM-->
<!--Modified on: 9/13/2024 8:59:54 PM-->
<xsd:schema targetNamespace="http://www.tech.pre.com/20240331" elementFormDefault="qualified" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:currency="http://xbrl.sec.gov/currency/2024" xmlns:exch="http://xbrl.sec.gov/exch/2024" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:naics="http://xbrl.sec.gov/naics/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sic="http://xbrl.sec.gov/sic/2024" xmlns:us-types="http://fasb.org/us-types/2024" xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:srt-types="http://fasb.org/srt-types/2024" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tpcs="http://www.tech.pre.com/20240331" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:us-roles="http://fasb.org/us-roles/2024" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:srt-roles="http://fasb.org/srt-roles/2024" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:attributeFormDefault="unqualified" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:deprecated="http://www.xbrl.org/2009/role/deprecated" xmlns:net="http://www.xbrl.org/2009/role/net" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:dtr="http://www.xbrl.org/2009/dtr" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:us-gaap-ebp="http://fasb.org/us-gaap-ebp/2024" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:ecd-sub="http://xbrl.sec.gov/ecd-sub/2024">
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.tech.pre.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.tech.pre.com/role/StatementConsolidatedBalanceSheets" id="StatementConsolidatedBalanceSheets">
        <link:definition>995200100 - Statement - 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.tech.pre.com/role/StatementConsolidatedStatementsOfOperations" id="StatementConsolidatedStatementsOfOperations">
        <link:definition>995200200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</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.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows" id="StatementConsolidatedStatementsOfCashFlows">
        <link:definition>995200400 - Statement - 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.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails" id="DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails">
        <link:definition>99940202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES - SG&amp;A, Stock Based Compensation (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.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails" id="DisclosureIncomeTaxesIncomeTaxProvisionDetails">
        <link:definition>99940501 - Disclosure - INCOME TAXES - Income tax provision (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.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails" id="DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails">
        <link:definition>99940502 - Disclosure - INCOME TAXES - U.S. Federal Statutory Rate To Actual Tax Provision (Benefit) For Income Taxes (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.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails" id="DisclosureIncomeTaxesDeferredTaxesDetails">
        <link:definition>99940503 - Disclosure - INCOME TAXES - Deferred Taxes (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.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails" id="DisclosureOtherCurrentAssetsDetails">
        <link:definition>99940901 - Disclosure - 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.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" id="DisclosurePropertyPlantAndEquipmentNetDetails">
        <link:definition>99941001 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (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.tech.pre.com/role/DisclosureAccruedExpensesDetails" id="DisclosureAccruedExpensesDetails">
        <link:definition>99941101 - Disclosure - 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.tech.pre.com/role/DisclosureLongTermDebtDetailsCalc2" id="DisclosureLongTermDebtDetailsCalc2">
        <link:definition>41201 - Disclosure - Long-term Debt (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.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetailsCalc2" id="DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetailsCalc2">
        <link:definition>41304 - Disclosure - LEASES - Maturities of lease liabilities (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.tech.pre.com/role/DisclosureLeasesDetails" id="DisclosureLeasesDetails">
        <link:definition>99941401 - Disclosure - 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.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" id="DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails">
        <link:definition>99941404 - Disclosure - LEASES - Maturities of lease liabilities (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.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity" id="StatementConsolidatedStatementsOfStockholdersEquity">
        <link:definition>995200300 - Statement - 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.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" id="StatementConsolidatedStatementsOfCashFlowsParenthetical">
        <link:definition>995200405 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (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.tech.pre.com/role/DisclosureRevenueTables" id="DisclosureRevenueTables">
        <link:definition>99930403 - Disclosure - REVENUE (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.tech.pre.com/role/DisclosureConcentrationOfRiskTables" id="DisclosureConcentrationOfRiskTables">
        <link:definition>99930803 - Disclosure - CONCENTRATION OF RISK (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.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails" id="DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails">
        <link:definition>99940201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (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.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails" id="DisclosureRevenueDisaggregatedBasisDetails">
        <link:definition>99940401 - Disclosure - REVENUE - Disaggregated 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.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" id="DisclosureRevenueNetSalesFromCustomersDetails">
        <link:definition>99940402 - Disclosure - REVENUE - Net sales from 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.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails" id="DisclosureRevenueContractAssetsAndContractLiabilitiesDetails">
        <link:definition>99940403 - Disclosure - REVENUE - Contract assets and contract liabilities (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.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" id="DisclosureRevenueAdditionalInformationDetails">
        <link:definition>99940404 - Disclosure - REVENUE - 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.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails" id="DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails">
        <link:definition>99940504 - Disclosure - INCOME TAXES - Carryforwards and Unrecognized Tax Benefits (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.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails" id="DisclosureCapitalStockAndEarningsPerShareEpsDetails">
        <link:definition>99940601 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE - (EPS) (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.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" id="DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails">
        <link:definition>99940702 - Disclosure - STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (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.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" id="DisclosureStockBasedCompensationAdditionalInformationDetails">
        <link:definition>99940703 - 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.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails" id="DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails">
        <link:definition>99940704 - Disclosure - STOCK-BASED COMPENSATION - Board of directors common stock award (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.tech.pre.com/role/DisclosureConcentrationOfRiskDetails" id="DisclosureConcentrationOfRiskDetails">
        <link:definition>99940801 - Disclosure - CONCENTRATION OF RISK (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.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" id="DisclosureDebtLongTermDebtDetails">
        <link:definition>99941201 - Disclosure - DEBT - Long-term Debt (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.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" id="DisclosureDebtAdditionalInformationDetails">
        <link:definition>99941202 - Disclosure - DEBT - 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.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails" id="DisclosureOtherNoncurrentLiabilityDetails">
        <link:definition>99941301 - Disclosure - OTHER NONCURRENT LIABILITY (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.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails" id="DisclosureCommitmentsAndContingenciesDetails">
        <link:definition>99941501 - Disclosure - COMMITMENTS AND CONTINGENCIES (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.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" id="DisclosureSegmentInformationFinancialInformationForSegmentsDetails">
        <link:definition>99941601 - Disclosure - SEGMENT INFORMATION - Financial information for segments (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.tech.pre.com/role/DisclosureSubsequentEventsDetails" id="DisclosureSubsequentEventsDetails">
        <link:definition>99941701 - Disclosure - SUBSEQUENT EVENTS (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.tech.pre.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation">
        <link:definition>995200090 - 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.tech.pre.com/role/StatementConsolidatedBalanceSheetsParenthetical" id="StatementConsolidatedBalanceSheetsParenthetical">
        <link:definition>995200105 - Statement - 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.tech.pre.com/role/DisclosureDescriptionOfBusiness" id="DisclosureDescriptionOfBusiness">
        <link:definition>995210101 - Disclosure - DESCRIPTION OF BUSINESS</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.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPolicies" id="DisclosureBasisOfPresentationAndSignificantAccountingPolicies">
        <link:definition>995210201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING 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.tech.pre.com/role/DisclosureAccountingStandardsUpdate" id="DisclosureAccountingStandardsUpdate">
        <link:definition>995210301 - Disclosure - ACCOUNTING STANDARDS UPDATE</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.tech.pre.com/role/DisclosureRevenue" id="DisclosureRevenue">
        <link:definition>995210401 - Disclosure - REVENUE</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.tech.pre.com/role/DisclosureIncomeTaxes" id="DisclosureIncomeTaxes">
        <link:definition>995210501 - 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.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShare" id="DisclosureCapitalStockAndEarningsPerShare">
        <link:definition>995210601 - Disclosure - CAPITAL STOCK and EARNINGS 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.tech.pre.com/role/DisclosureStockBasedCompensation" id="DisclosureStockBasedCompensation">
        <link:definition>995210701 - 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.tech.pre.com/role/DisclosureConcentrationOfRisk" id="DisclosureConcentrationOfRisk">
        <link:definition>995210801 - Disclosure - CONCENTRATION OF RISK</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.tech.pre.com/role/DisclosureOtherCurrentAssets" id="DisclosureOtherCurrentAssets">
        <link:definition>995210901 - Disclosure - OTHER CURRENT 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.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNet" id="DisclosurePropertyPlantAndEquipmentNet">
        <link:definition>995211001 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET</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.tech.pre.com/role/DisclosureAccruedExpenses" id="DisclosureAccruedExpenses">
        <link:definition>995211101 - Disclosure - ACCRUED EXPENSES</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.tech.pre.com/role/DisclosureDebt" id="DisclosureDebt">
        <link:definition>995211201 - Disclosure - DEBT</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.tech.pre.com/role/DisclosureOtherNoncurrentLiability" id="DisclosureOtherNoncurrentLiability">
        <link:definition>995211301 - Disclosure - OTHER NONCURRENT LIABILITY</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.tech.pre.com/role/DisclosureLeases" id="DisclosureLeases">
        <link:definition>995211401 - Disclosure - LEASES</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.tech.pre.com/role/DisclosureCommitmentsAndContingencies" id="DisclosureCommitmentsAndContingencies">
        <link:definition>995211501 - Disclosure - COMMITMENTS AND 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.tech.pre.com/role/DisclosureSegmentInformation" id="DisclosureSegmentInformation">
        <link:definition>995211601 - Disclosure - SEGMENT 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.tech.pre.com/role/DisclosureSubsequentEvents" id="DisclosureSubsequentEvents">
        <link:definition>995211701 - Disclosure - SUBSEQUENT EVENTS</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.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies" id="DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies">
        <link:definition>99920202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (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.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesTables" id="DisclosureBasisOfPresentationAndSignificantAccountingPoliciesTables">
        <link:definition>99930203 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (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.tech.pre.com/role/DisclosureIncomeTaxesTables" id="DisclosureIncomeTaxesTables">
        <link:definition>99930503 - 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.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareTables" id="DisclosureCapitalStockAndEarningsPerShareTables">
        <link:definition>99930603 - Disclosure - CAPITAL STOCK and EARNINGS 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.tech.pre.com/role/DisclosureStockBasedCompensationTables" id="DisclosureStockBasedCompensationTables">
        <link:definition>99930703 - 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.tech.pre.com/role/DisclosureOtherCurrentAssetsTables" id="DisclosureOtherCurrentAssetsTables">
        <link:definition>99930903 - Disclosure - OTHER CURRENT 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.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetTables" id="DisclosurePropertyPlantAndEquipmentNetTables">
        <link:definition>99931003 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (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.tech.pre.com/role/DisclosureAccruedExpensesTables" id="DisclosureAccruedExpensesTables">
        <link:definition>99931103 - Disclosure - ACCRUED EXPENSES (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.tech.pre.com/role/DisclosureDebtTables" id="DisclosureDebtTables">
        <link:definition>99931203 - Disclosure - DEBT (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.tech.pre.com/role/DisclosureLeasesTables" id="DisclosureLeasesTables">
        <link:definition>99931403 - Disclosure - LEASES (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.tech.pre.com/role/DisclosureSegmentInformationTables" id="DisclosureSegmentInformationTables">
        <link:definition>99931603 - Disclosure - SEGMENT 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:roleType roleURI="http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails" id="DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails">
        <link:definition>99940602 - Disclosure - CAPITAL STOCK and EARNINGS 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.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" id="DisclosureStockBasedCompensationStockOptionActivityDetails">
        <link:definition>99940701 - Disclosure - STOCK-BASED COMPENSATION - Stock option activity (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.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails" id="DisclosureLeasesOtherSupplementalInformationOfLeasesDetails">
        <link:definition>99941402 - Disclosure - LEASES - Other supplemental information of 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.tech.pre.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" id="DisclosureLeasesSupplementalCashFlowInformationDetails">
        <link:definition>99941403 - Disclosure - LEASES - 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:linkbaseRef xlink:type="simple" xlink:href="tpcs-20240331_pre.xml" 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="tpcs-20240331_cal.xml" 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="tpcs-20240331_def.xml" 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="tpcs-20240331_lab.xml" 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="https://xbrl.org/2023/calculation-1.1" schemaLocation="https://www.xbrl.org/2023/calculation-1.1.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/ecd/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/dei/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.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://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/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd" />
  <xsd:import namespace="http://fasb.org/us-gaap/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd" />
  <xsd:import namespace="http://fasb.org/srt/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/ecd-sub/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd" />
  <xsd:element id="tpcs_IncreaseDecreaseInContractLiabilities" name="IncreaseDecreaseInContractLiabilities" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="tpcs_DebtIssuanceCostsPolicyPolicyTextBlock" name="DebtIssuanceCostsPolicyPolicyTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="ContractEstimatesPolicyTextBlock" id="tpcs_ContractEstimatesPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ContractAssetsPolicyTextBlock" id="tpcs_ContractAssetsPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ContractLiabilitiesPolicyTextBlock" id="tpcs_ContractLiabilitiesPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfSellingGeneralAndAdministrativeTableTextBlock" id="tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IndustrialMember" id="tpcs_IndustrialMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CustomerAMember" id="tpcs_CustomerAMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CustomerBMember" id="tpcs_CustomerBMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CustomerCMember" id="tpcs_CustomerCMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50" name="RevenueRemainingPerformanceObligationCompletedLessThan50" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element name="TradeReceivablesMember" id="tpcs_TradeReceivablesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CustomerDMember" id="tpcs_CustomerDMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CustomerEMember" id="tpcs_CustomerEMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MachineryEquipmentFurnitureAndFixturesMember" id="tpcs_MachineryEquipmentFurnitureAndFixturesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="PrepaidSubscriptions" id="tpcs_PrepaidSubscriptions" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="AccruedProjectCosts" id="tpcs_AccruedProjectCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="BerkshireLoanMember" id="tpcs_BerkshireLoanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="RanorIncMember" id="tpcs_RanorIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance" id="tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances" id="tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances" id="tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AmountIncludedInSumToCalculateMaximumBorrowingBase" id="tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="DebtInstrumentCovenantLoanToValueRatio" id="tpcs_DebtInstrumentCovenantLoanToValueRatio" type="xbrli:pureItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio" id="tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio" type="xbrli:durationItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="tpcs_DeferredTaxLiabilitiesContractAccountingMethods" name="DeferredTaxLiabilitiesContractAccountingMethods" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element name="OperatingLossAndTaxCreditCarryforwardsTable" id="tpcs_OperatingLossAndTaxCreditCarryforwardsTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OperatingLossAndTaxCreditCarryforwardsLineItems" id="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="NumberOfSeriesOfPreferredStockShares" id="tpcs_NumberOfSeriesOfPreferredStockShares" type="xbrli:integerItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="EquityIncentivePlan2016Member" id="tpcs_EquityIncentivePlan2016Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract" id="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract" id="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="RangeOneMember" id="tpcs_RangeOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="RangeTwoMember" id="tpcs_RangeTwoMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday" name="EmployeeAgreementAnnualCommitmentForVacationAndHoliday" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear" name="EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="tpcs_DebtInstrumentCovenantLeverageRatioYearOne" name="DebtInstrumentCovenantLeverageRatioYearOne" nillable="true" type="xbrli:pureItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="tpcs_NumberOfSignificantCustomers" name="NumberOfSignificantCustomers" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock" name="ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock" name="ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock" name="ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="tpcs_DefenseMember" name="DefenseMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="tpcs_AdjustmentsProgressPaymentsReceivableMember" name="AdjustmentsProgressPaymentsReceivableMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances" name="DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="tpcs_RevolverLoanMember" name="RevolverLoanMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="tpcs_StadcoAcquisitionLlcMember" name="StadcoAcquisitionLlcMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="tpcs_ServiceBasedRestrictedStockOneMember" name="ServiceBasedRestrictedStockOneMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="tpcs_ServiceBasedRestrictedStockTwoMember" name="ServiceBasedRestrictedStockTwoMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="tpcs_LesseeFinanceLeaseMonthlyPayments" name="LesseeFinanceLeaseMonthlyPayments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element name="ProceedsFromTermLoan" id="tpcs_ProceedsFromTermLoan" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="RanorTermLoanMember" id="tpcs_RanorTermLoanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FederalHomeLoanBankOfBostonClassicAdvanceRateMember" id="tpcs_FederalHomeLoanBankOfBostonClassicAdvanceRateMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LateChargeFeePercentage" id="tpcs_LateChargeFeePercentage" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="DefaultInterestRate" id="tpcs_DefaultInterestRate" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LeaseOfLesseeDisclosureTextBlock" id="tpcs_LeaseOfLesseeDisclosureTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="RightOfUseAsset" id="tpcs_RightOfUseAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="LeaseLiability" id="tpcs_LeaseLiability" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="StadcoTermLoanAt3.79InterestDueAugust2028Member" id="tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" id="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LeaseLiabilityCurrent" id="tpcs_LeaseLiabilityCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="OtherLeaseAssetsAndLeaseLiabilities" id="tpcs_OtherLeaseAssetsAndLeaseLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="NonrefundableCommitmentFeePercentages" id="tpcs_NonrefundableCommitmentFeePercentages" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="StockIssuedForFinderFee" id="tpcs_StockIssuedForFinderFee" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="TaxYearsPriorToTwoThousandTwentyOneMember" id="tpcs_TaxYearsPriorToTwoThousandTwentyOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="PrepaidAdvisoryFeesOther" id="tpcs_PrepaidAdvisoryFeesOther" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="CapitalExpendituresFromPurchaseOfFixedAssets" id="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="StadcoTermLoanAt2.25InterestDueAugust2028Member" id="tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CashFlowRatioOfDebtService" id="tpcs_CashFlowRatioOfDebtService" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="NondeductibleItemsRelatedToDissolvedForeignEntity" id="tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="GainLossFromContingentConsideration" id="tpcs_GainLossFromContingentConsideration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="FinanceLeaseLiabilityImputedInterest" id="tpcs_FinanceLeaseLiabilityImputedInterest" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="FinanceLeaseLiabilities" id="tpcs_FinanceLeaseLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="EmployeeRetentionCreditRefund" id="tpcs_EmployeeRetentionCreditRefund" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="StockIssuedDuringPeriodValueContingentConsideration" id="tpcs_StockIssuedDuringPeriodValueContingentConsideration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="StockIssuedDuringPeriodSharesContingentConsideration" id="tpcs_StockIssuedDuringPeriodSharesContingentConsideration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="OtherIncomeAndExpense" id="tpcs_OtherIncomeAndExpense" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="Customers.Member" id="tpcs_Customers.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CustomerCDMember" id="tpcs_CustomerCDMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="RanorTermLoanAt6.05InterestDueDecember2027Member" id="tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" id="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="RequiredMinimumDebtServiceCoverageRatio" id="tpcs_RequiredMinimumDebtServiceCoverageRatio" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" id="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="PaymentArrangementAgreementMonthlyInstalmentsPayable" id="tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="PaymentArrangementAgreementAnnualLatePaymentChargePercentage" id="tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" id="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" id="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="RisksAndUncertaintiesPolicyPolicyTextBlock" id="tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="AdvancesToEmployee" id="tpcs_AdvancesToEmployee" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="DepositsCurrent" id="tpcs_DepositsCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="StockSplitFractionalShareRoundUpInShares" id="tpcs_StockSplitFractionalShareRoundUpInShares" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="BasisOfPresentationAndSignificantAccountingPoliciesTable" id="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="BasisOfPresentationAndSignificantAccountingPoliciesLineItems" id="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual" id="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="StockBasedExpenseForContingentConsideration" id="tpcs_StockBasedExpenseForContingentConsideration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="CashFlowToTotalDebtService" id="tpcs_CashFlowToTotalDebtService" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="OneSupplierMember" id="tpcs_OneSupplierMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary" id="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="TotalAvailableLiquidity" id="tpcs_TotalAvailableLiquidity" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="CommonStockPursuantToOptionAwards" id="tpcs_CommonStockPursuantToOptionAwards" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="OptionsExercisedAsCashlessNetSettlementTransaction" id="tpcs_OptionsExercisedAsCashlessNetSettlementTransaction" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts" id="tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="StadcoTermLoanMember" id="tpcs_StadcoTermLoanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="StockIssuedDuringPeriodSharesStockTerminationFee" id="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan" id="tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" id="tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="DeferredTaxAssetsOperatingLeases" id="tpcs_DeferredTaxAssetsOperatingLeases" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="StockIssuedDuringPeriodAdditionalSharesStockTerminationFee" id="tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" id="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="FormerChiefFinancialOfficerMember" id="tpcs_FormerChiefFinancialOfficerMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="StockBasedAcquisitionTerminationFeesAmount" id="tpcs_StockBasedAcquisitionTerminationFeesAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="SaleOfStockAndWarrantPricePerShare" id="tpcs_SaleOfStockAndWarrantPricePerShare" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="RanorRevolverLoanAt7.69InterestDueAugust2024Member" id="tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AdvisoryAndLegalFeesRelatedToAcquistionTermination" id="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="DeferredRevenueMember" id="tpcs_DeferredRevenueMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CustomerDepositsMember" id="tpcs_CustomerDepositsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue" id="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="ProceedsFromFixedAssetsInsuranceSettlement" id="tpcs_ProceedsFromFixedAssetsInsuranceSettlement" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>13
<FILENAME>tpcs-20240331_cal.xml
<DESCRIPTION>EX-101.CAL
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.7.0.1 -->
<!--Based on XBRL 2.1-->
<!--Created on: 9/13/2024 8:59:54 PM-->
<!--Modified on: 9/13/2024 8:59:54 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="tpcs-20240331.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails" roleURI="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureIncomeTaxesIncomeTaxProvisionDetails" roleURI="http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails" roleURI="http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureIncomeTaxesDeferredTaxesDetails" roleURI="http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureOtherCurrentAssetsDetails" roleURI="http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureAccruedExpensesDetails" roleURI="http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureLongTermDebtDetailsCalc2" roleURI="http://www.tech.pre.com/role/DisclosureLongTermDebtDetailsCalc2" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetailsCalc2" roleURI="http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetailsCalc2" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureLeasesDetails" roleURI="http://www.tech.pre.com/role/DisclosureLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" roleURI="http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" />
  <link:arcroleRef arcroleURI="https://xbrl.org/2023/arcrole/summation-item" xlink:type="simple" xlink:href="https://www.xbrl.org/2023/calculation-1.1.xsd#summation-item" />
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="995200100 - Statement - CONSOLIDATED BALANCE SHEETS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638618579908042082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent_638618579908042082" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638618579908042082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638618579908042082" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638618579908042082" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638618579908042082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638618579908042082" xlink:to="us-gaap_AccountsReceivableNetCurrent_638618579908042082" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_638618579908042082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638618579908042082" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_638618579908042082" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies_638618579908052080" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638618579908042082" xlink:to="us-gaap_InventoryRawMaterialsAndSupplies_638618579908052080" order="4" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_638618579908052080" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638618579908042082" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_638618579908052080" order="5" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent_638618579908052080" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638618579908042082" xlink:to="us-gaap_OtherAssetsCurrent_638618579908052080" order="6" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638618579908052080" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638618579908052080" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_638618579908052080" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset_638618579908052080" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638618579908052080" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638618579908052080" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638618579908052080" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_638618579908052080" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638618579908062082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity_638618579908062082" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638618579908062082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638618579908062082" xlink:to="us-gaap_CommonStockValue_638618579908062082" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital_638618579908062082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638618579908062082" xlink:to="us-gaap_AdditionalPaidInCapital_638618579908062082" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638618579908062082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638618579908062082" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638618579908062082" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638618579908062082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638618579908062082" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_638618579908062082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638618579908062082" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_638618579908062082" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_638618579908062082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638618579908062082" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_638618579908062082" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_638618579908072083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638618579908062082" xlink:to="us-gaap_LongTermDebtNoncurrent_638618579908072083" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638618579908072083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638618579908062082" xlink:to="us-gaap_LiabilitiesCurrent_638618579908072083" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_638618579908072083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638618579908072083" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_638618579908072083" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LeaseLiabilityCurrent" xlink:label="tpcs_LeaseLiabilityCurrent_638618579908072083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638618579908072083" xlink:to="tpcs_LeaseLiabilityCurrent_638618579908072083" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638618579908072083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638618579908072083" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638618579908072083" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_638618579908072083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638618579908072083" xlink:to="us-gaap_AccruedLiabilitiesCurrent_638618579908072083" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_638618579908082091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638618579908072083" xlink:to="us-gaap_AccountsPayableCurrent_638618579908082091" order="5" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="995200200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638618579908082091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_1" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638618579908082091" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638618579908082091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_1" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638618579908082091" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638618579908082091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638618579908082091" xlink:to="us-gaap_NonoperatingIncomeExpense_638618579908082091" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_EmployeeRetentionCreditRefund" xlink:label="tpcs_EmployeeRetentionCreditRefund_638618579908082091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638618579908082091" xlink:to="tpcs_EmployeeRetentionCreditRefund_638618579908082091" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating" xlink:label="us-gaap_InterestExpenseNonoperating_638618579908082091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638618579908082091" xlink:to="us-gaap_InterestExpenseNonoperating_638618579908082091" order="2" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OtherIncomeAndExpense" xlink:label="tpcs_OtherIncomeAndExpense_638618579908082091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638618579908082091" xlink:to="tpcs_OtherIncomeAndExpense_638618579908082091" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638618579908092082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638618579908082091" xlink:to="us-gaap_OperatingIncomeLoss_638618579908092082" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638618579908092082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638618579908092082" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638618579908092082" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638618579908092082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638618579908092082" xlink:to="us-gaap_GrossProfit_638618579908092082" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638618579908092082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638618579908092082" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638618579908092082" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638618579908092082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638618579908092082" xlink:to="us-gaap_Revenues_638618579908092082" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="995200400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" order="1" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638618579908102083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638618579908102083" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts_638618579908102083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_AmortizationOfFinancingCosts_638618579908102083" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638618579908102083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638618579908102083" order="3" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockBasedAcquisitionTerminationFeesAmount" xlink:label="tpcs_StockBasedAcquisitionTerminationFeesAmount_638618579908102083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="tpcs_StockBasedAcquisitionTerminationFeesAmount_638618579908102083" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638618579908102083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_ShareBasedCompensation_638618579908102083" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnContractTermination" xlink:label="us-gaap_GainLossOnContractTermination_638618579908102083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_GainLossOnContractTermination_638618579908102083" order="6" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638618579908102083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638618579908102083" order="7" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638618579908102083" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638618579908102083" order="8" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockBasedExpenseForContingentConsideration" xlink:label="tpcs_StockBasedExpenseForContingentConsideration_638618579908112084" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="tpcs_StockBasedExpenseForContingentConsideration_638618579908112084" order="9" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638618579908112084" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638618579908112084" order="10" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638618579908112084" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638618579908112084" order="11" use="optional" weight="-1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_638618579908112084" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets_638618579908112084" order="12" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_638618579908112084" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_638618579908112084" order="13" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_638618579908112084" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_638618579908112084" order="14" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_IncreaseDecreaseInContractLiabilities" xlink:label="tpcs_IncreaseDecreaseInContractLiabilities_638618579908112084" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="tpcs_IncreaseDecreaseInContractLiabilities_638618579908112084" order="15" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_638618579908122489" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_IncreaseDecreaseInInventories_638618579908122489" order="16" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_GainLossFromContingentConsideration" xlink:label="tpcs_GainLossFromContingentConsideration_638618579908122489" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="tpcs_GainLossFromContingentConsideration_638618579908122489" order="17" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638618579908122489" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579908092082" xlink:to="us-gaap_ProfitLoss_638618579908122489" order="18" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638618579908122489" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638618579908122489" order="2" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638618579908122489" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638618579908122489" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638618579908122489" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ProceedsFromFixedAssetsInsuranceSettlement" xlink:label="tpcs_ProceedsFromFixedAssetsInsuranceSettlement_638618579908172087" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638618579908122489" xlink:to="tpcs_ProceedsFromFixedAssetsInsuranceSettlement_638618579908172087" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638618579908172087" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638618579908122489" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638618579908172087" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638618579908172087" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638618579908172087" order="3" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638618579908182091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638618579908172087" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638618579908182091" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_638618579908182091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638618579908172087" xlink:to="us-gaap_RepaymentsOfLinesOfCredit_638618579908182091" order="2" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ProceedsFromTermLoan" xlink:label="tpcs_ProceedsFromTermLoan_638618579908182091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638618579908172087" xlink:to="tpcs_ProceedsFromTermLoan_638618579908182091" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments_638618579908182091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638618579908172087" xlink:to="us-gaap_FinanceLeasePrincipalPayments_638618579908182091" order="4" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfLoanCosts" xlink:label="us-gaap_PaymentsOfLoanCosts_638618579908182091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638618579908172087" xlink:to="us-gaap_PaymentsOfLoanCosts_638618579908182091" order="5" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_638618579908182091" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638618579908172087" xlink:to="us-gaap_RepaymentsOfLongTermDebt_638618579908182091" order="6" use="optional" weight="-1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails" xlink:type="extended" xlink:title="99940202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES - SG&amp;A, Stock Based Compensation (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LaborAndRelatedExpense" xlink:label="us-gaap_LaborAndRelatedExpense_638618579908192089" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_LaborAndRelatedExpense_638618579908192089" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfessionalFees" xlink:label="us-gaap_ProfessionalFees_638618579908192089" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_ProfessionalFees_638618579908192089" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherGeneralAndAdministrativeExpense_638618579908192089" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_OtherGeneralAndAdministrativeExpense_638618579908192089" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination" xlink:label="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination_638618579908192089" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination_638618579908192089" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockBasedAcquisitionTerminationFeesAmount" xlink:label="tpcs_StockBasedAcquisitionTerminationFeesAmount_638618579908192089" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="tpcs_StockBasedAcquisitionTerminationFeesAmount_638618579908192089" order="5" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails" xlink:type="extended" xlink:title="99940501 - Disclosure - INCOME TAXES - Income tax provision (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638618579908202085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_2" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638618579908202085" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638618579908202085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit_638618579908202085" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638618579908202085" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638618579908202085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_2" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638618579908202085" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638618579908202085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit_638618579908202085" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638618579908202085" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_638618579908202085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit_638618579908202085" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_638618579908202085" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails" xlink:type="extended" xlink:title="99940502 - Disclosure - INCOME TAXES - U.S. Federal Statutory Rate To Actual Tax Provision (Benefit) For Income Taxes (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_638618579908202085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_1" xlink:to="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_638618579908202085" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_638618579908212085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_1" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_638618579908212085" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_638618579908212085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_1" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_638618579908212085" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate_638618579908212085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_1" xlink:to="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate_638618579908212085" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity" xlink:label="tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity_638618579908212085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_1" xlink:to="tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity_638618579908212085" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_638618579908212085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_1" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_638618579908212085" order="6" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_638618579908212085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_1" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_638618579908212085" order="7" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails" xlink:type="extended" xlink:title="99940503 - Disclosure - INCOME TAXES - Deferred Taxes (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638618579908212085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsNet_638618579908212085" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_638618579908222095" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_638618579908212085" xlink:to="us-gaap_DeferredTaxAssetsGross_638618579908222095" order="1" use="optional" weight="1" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_638618579908222095" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638618579908222095" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_638618579908222095" order="1" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_638618579908222095" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638618579908222095" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_638618579908222095" order="2" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_638618579908222095" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638618579908222095" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_638618579908222095" order="3" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638618579908222095" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638618579908222095" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638618579908222095" order="4" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DeferredTaxAssetsOperatingLeases" xlink:label="tpcs_DeferredTaxAssetsOperatingLeases_638618579908222095" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638618579908222095" xlink:to="tpcs_DeferredTaxAssetsOperatingLeases_638618579908222095" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638618579908222095" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_638618579908212085" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638618579908222095" order="2" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_638618579908222095" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638618579908222095" order="2" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638618579908232087" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638618579908222095" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638618579908232087" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DeferredTaxLiabilitiesContractAccountingMethods" xlink:label="tpcs_DeferredTaxLiabilitiesContractAccountingMethods_638618579908232087" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638618579908222095" xlink:to="tpcs_DeferredTaxLiabilitiesContractAccountingMethods_638618579908232087" order="2" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:label="us-gaap_DeferredTaxLiabilitiesLeasingArrangements_638618579908232087" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638618579908222095" xlink:to="us-gaap_DeferredTaxLiabilitiesLeasingArrangements_638618579908232087" order="3" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails" xlink:type="extended" xlink:title="99940901 - Disclosure - OTHER CURRENT ASSETS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes_638618579908232087" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="us-gaap_PrepaidTaxes_638618579908232087" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Supplies" xlink:label="us-gaap_Supplies_638618579908232087" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="us-gaap_Supplies_638618579908232087" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance_638618579908232087" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="us-gaap_PrepaidInsurance_638618579908232087" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PrepaidSubscriptions" xlink:label="tpcs_PrepaidSubscriptions_638618579908242085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="tpcs_PrepaidSubscriptions_638618579908242085" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AdvancesToEmployee" xlink:label="tpcs_AdvancesToEmployee_638618579908242085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="tpcs_AdvancesToEmployee_638618579908242085" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PrepaidAdvisoryFeesOther" xlink:label="tpcs_PrepaidAdvisoryFeesOther_638618579908242085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="tpcs_PrepaidAdvisoryFeesOther_638618579908242085" order="6" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DepositsCurrent" xlink:label="tpcs_DepositsCurrent_638618579908242085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="tpcs_DepositsCurrent_638618579908242085" order="7" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xlink:type="extended" xlink:title="99941001 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_638618579908242085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_638618579908242085" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638618579908242085" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638618579908242085" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_638618579908252090" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638618579908242085" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_638618579908252090" order="1" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails" xlink:type="extended" xlink:title="99941101 - Disclosure - ACCRUED EXPENSES (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_638618579908252090" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_638618579908252090" order="1" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_638618579908252090" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_638618579908252090" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForLossOnContracts" xlink:label="us-gaap_ProvisionForLossOnContracts_638618579908252090" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_ProvisionForLossOnContracts_638618579908252090" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent_638618579908252090" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedProfessionalFeesCurrent_638618579908252090" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AccruedProjectCosts" xlink:label="tpcs_AccruedProjectCosts_638618579908252090" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="tpcs_AccruedProjectCosts_638618579908252090" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" xlink:label="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent_638618579908252090" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent_638618579908252090" order="6" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_638618579908262088" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_638618579908262088" order="7" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/DisclosureLongTermDebtDetailsCalc2" xlink:type="extended" xlink:title="41201 - Disclosure - Long-term Debt (Details) Calc2">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_638618579908262088" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_638618579908262088" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations_638618579908262088" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligations_638618579908262088" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetailsCalc2" xlink:type="extended" xlink:title="41304 - Disclosure - LEASES - Maturities of lease liabilities (Details) (Calc2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_2" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_FinanceLeaseLiabilityImputedInterest" xlink:label="tpcs_FinanceLeaseLiabilityImputedInterest_638618579908262088" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue_2" xlink:to="tpcs_FinanceLeaseLiabilityImputedInterest_638618579908262088" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_FinanceLeaseLiabilities" xlink:label="tpcs_FinanceLeaseLiabilities_638618579908272086" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue_2" xlink:to="tpcs_FinanceLeaseLiabilities_638618579908272086" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/DisclosureLeasesDetails" xlink:type="extended" xlink:title="99941401 - Disclosure - LEASES (Details)">
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LeaseLiability" xlink:label="tpcs_LeaseLiability" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_638618579908272086" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="tpcs_LeaseLiability" xlink:to="us-gaap_FinanceLeaseLiability_638618579908272086" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638618579908272086" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="tpcs_LeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_638618579908272086" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RightOfUseAsset" xlink:label="tpcs_RightOfUseAsset" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_638618579908272086" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="tpcs_RightOfUseAsset" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_638618579908272086" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_638618579908272086" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="tpcs_RightOfUseAsset" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset_638618579908272086" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638618579908272086" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="tpcs_RightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638618579908272086" order="3" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" xlink:type="extended" xlink:title="99941404 - Disclosure - LEASES - Maturities of lease liabilities (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_638618579908282089" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue_1" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_638618579908282089" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_638618579908282089" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue_1" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_638618579908282089" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_638618579908282089" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue_1" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_638618579908282089" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638618579908282089" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue_1" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638618579908282089" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638618579908282089" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue_1" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638618579908282089" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638618579908282089" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue_1" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638618579908282089" order="6" use="optional" weight="1" />
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>14
<FILENAME>tpcs-20240331_def.xml
<DESCRIPTION>EX-101.DEF
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.7.0.1 -->
<!--Based on XBRL 2.1-->
<!--Created on: 9/13/2024 8:59:54 PM-->
<!--Modified on: 9/13/2024 8:59:54 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="tpcs-20240331.xsd#StatementConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#StatementConsolidatedStatementsOfCashFlowsParenthetical" roleURI="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureRevenueTables" roleURI="http://www.tech.pre.com/role/DisclosureRevenueTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureConcentrationOfRiskTables" roleURI="http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails" roleURI="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails" roleURI="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureRevenueDisaggregatedBasisDetails" roleURI="http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureRevenueNetSalesFromCustomersDetails" roleURI="http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureRevenueContractAssetsAndContractLiabilitiesDetails" roleURI="http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureRevenueAdditionalInformationDetails" roleURI="http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails" roleURI="http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureCapitalStockAndEarningsPerShareEpsDetails" roleURI="http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" roleURI="http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureStockBasedCompensationAdditionalInformationDetails" roleURI="http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails" roleURI="http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureConcentrationOfRiskDetails" roleURI="http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureDebtLongTermDebtDetails" roleURI="http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureDebtAdditionalInformationDetails" roleURI="http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureOtherNoncurrentLiabilityDetails" roleURI="http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureLeasesDetails" roleURI="http://www.tech.pre.com/role/DisclosureLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureSegmentInformationFinancialInformationForSegmentsDetails" roleURI="http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureSubsequentEventsDetails" roleURI="http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" />
  <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.tech.pre.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:href="tpcs-20240331.xsd#DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="simple" />
  <link:roleRef xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:title="us-gaap_StatementOfOtherComprehensiveIncomeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:title="srt_ProductsAndServicesDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization_3" xlink:title="us-gaap_DepreciationAndAmortization_3" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_DepreciationAndAmortization_3" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:srt_ProductsAndServicesDomain To us-gaap_DepreciationAndAmortization_3" order="1" priority="0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:title="us-gaap_IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_GainLossFromContingentConsideration" xlink:label="tpcs_GainLossFromContingentConsideration" xlink:title="tpcs_GainLossFromContingentConsideration" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="tpcs_GainLossFromContingentConsideration" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_IncomeStatementAbstract To tpcs_GainLossFromContingentConsideration" order="1" priority="0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_3" xlink:title="us-gaap_VariableRateDomain_3" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_FederalHomeLoanBankOfBostonClassicAdvanceRateMember" xlink:label="tpcs_FederalHomeLoanBankOfBostonClassicAdvanceRateMember_2" xlink:title="tpcs_FederalHomeLoanBankOfBostonClassicAdvanceRateMember_2" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_VariableRateDomain_3" xlink:to="tpcs_FederalHomeLoanBankOfBostonClassicAdvanceRateMember_2" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_VariableRateDomain_3 To tpcs_FederalHomeLoanBankOfBostonClassicAdvanceRateMember_2" order="1" priority="0" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.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.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/srt-2024.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/2024/elts/srt-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.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.sec.gov/dei/2024/dei-2024.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/2024/dei-2024.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/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReclassificationTypeAxis" xlink:label="us-gaap_ReclassificationTypeAxis_1" xlink:title="us-gaap_ReclassificationTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReclassificationTypeDomain" xlink:label="us-gaap_ReclassificationTypeDomain_1" xlink:title="us-gaap_ReclassificationTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ReclassificationTypeAxis_1" xlink:to="us-gaap_ReclassificationTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ReclassificationTypeAxis_1 To us-gaap_ReclassificationTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_1" xlink:title="us-gaap_TimingOfTransferOfGoodOrServiceAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_1" xlink:title="us-gaap_TimingOfTransferOfGoodOrServiceDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis_1" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_TimingOfTransferOfGoodOrServiceAxis_1 To us-gaap_TimingOfTransferOfGoodOrServiceDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditDerivativesByContractTypeAxis" xlink:label="us-gaap_CreditDerivativesByContractTypeAxis_1" xlink:title="us-gaap_CreditDerivativesByContractTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditDerivativesContractTypeDomain" xlink:label="us-gaap_CreditDerivativesContractTypeDomain_1" xlink:title="us-gaap_CreditDerivativesContractTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CreditDerivativesByContractTypeAxis_1" xlink:to="us-gaap_CreditDerivativesContractTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CreditDerivativesByContractTypeAxis_1 To us-gaap_CreditDerivativesContractTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerBasisOfPricingAxis" xlink:label="us-gaap_ContractWithCustomerBasisOfPricingAxis_1" xlink:title="us-gaap_ContractWithCustomerBasisOfPricingAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerBasisOfPricingDomain" xlink:label="us-gaap_ContractWithCustomerBasisOfPricingDomain_1" xlink:title="us-gaap_ContractWithCustomerBasisOfPricingDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ContractWithCustomerBasisOfPricingAxis_1" xlink:to="us-gaap_ContractWithCustomerBasisOfPricingDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ContractWithCustomerBasisOfPricingAxis_1 To us-gaap_ContractWithCustomerBasisOfPricingDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_1" xlink:title="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesBillingStatusDomain" xlink:label="us-gaap_ReceivablesBillingStatusDomain_1" xlink:title="us-gaap_ReceivablesBillingStatusDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_1" xlink:to="us-gaap_ReceivablesBillingStatusDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_1 To us-gaap_ReceivablesBillingStatusDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis_1" xlink:title="us-gaap_StatementClassOfStockAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_1" xlink:title="us-gaap_ClassOfStockDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementClassOfStockAxis_1" xlink:to="us-gaap_ClassOfStockDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementClassOfStockAxis_1 To us-gaap_ClassOfStockDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_1" xlink:title="us-gaap_IncomeTaxAuthorityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_1" xlink:title="us-gaap_IncomeTaxAuthorityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeTaxAuthorityAxis_1" xlink:to="us-gaap_IncomeTaxAuthorityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeTaxAuthorityAxis_1 To us-gaap_IncomeTaxAuthorityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_1" xlink:title="us-gaap_DebtInstrumentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_1" xlink:title="us-gaap_DebtInstrumentNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DebtInstrumentAxis_1" xlink:to="us-gaap_DebtInstrumentNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DebtInstrumentAxis_1 To us-gaap_DebtInstrumentNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis_1" xlink:title="us-gaap_TaxPeriodAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain_1" xlink:title="us-gaap_TaxPeriodDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_TaxPeriodAxis_1" xlink:to="us-gaap_TaxPeriodDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_TaxPeriodAxis_1 To us-gaap_TaxPeriodDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_1" xlink:title="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_1" xlink:title="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_1" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_1 To us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_1" xlink:title="us-gaap_DerivativeInstrumentRiskAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_1" xlink:title="us-gaap_DerivativeContractTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_1" xlink:to="us-gaap_DerivativeContractTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DerivativeInstrumentRiskAxis_1 To us-gaap_DerivativeContractTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/srt/2024/elts/srt-2024.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_1" xlink:title="srt_CounterpartyNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_1" xlink:title="srt_RepurchaseAgreementCounterpartyNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_CounterpartyNameAxis_1" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_CounterpartyNameAxis_1 To srt_RepurchaseAgreementCounterpartyNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:title="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_1" xlink:title="us-gaap_RelatedPartyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:to="us-gaap_RelatedPartyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1 To us-gaap_RelatedPartyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis_1" xlink:title="us-gaap_TypeOfArrangementAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" xlink:title="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_TypeOfArrangementAxis_1" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_TypeOfArrangementAxis_1 To us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/srt-2024.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/2024/elts/srt-2024.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/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_RegulatoryAssetAxis" xlink:label="us-gaap_RegulatoryAssetAxis_1" xlink:title="us-gaap_RegulatoryAssetAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RegulatoryAssetDomain" xlink:label="us-gaap_RegulatoryAssetDomain_1" xlink:title="us-gaap_RegulatoryAssetDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RegulatoryAssetAxis_1" xlink:to="us-gaap_RegulatoryAssetDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RegulatoryAssetAxis_1 To us-gaap_RegulatoryAssetDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis_1" xlink:title="srt_RestatementAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain_1" xlink:title="srt_RestatementDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RestatementAxis_1" xlink:to="srt_RestatementDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RestatementAxis_1 To srt_RestatementDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MortgageLoansOnRealEstateDescriptionTypeOfPropertyAxis" xlink:label="srt_MortgageLoansOnRealEstateDescriptionTypeOfPropertyAxis_1" xlink:title="srt_MortgageLoansOnRealEstateDescriptionTypeOfPropertyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MortgageLoansOnRealEstateNamePropertyTypeDomain" xlink:label="srt_MortgageLoansOnRealEstateNamePropertyTypeDomain_1" xlink:title="srt_MortgageLoansOnRealEstateNamePropertyTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_MortgageLoansOnRealEstateDescriptionTypeOfPropertyAxis_1" xlink:to="srt_MortgageLoansOnRealEstateNamePropertyTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_MortgageLoansOnRealEstateDescriptionTypeOfPropertyAxis_1 To srt_MortgageLoansOnRealEstateNamePropertyTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis_1" xlink:title="us-gaap_InvestmentTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember_1" xlink:title="us-gaap_InvestmentTypeCategorizationMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_InvestmentTypeAxis_1" xlink:to="us-gaap_InvestmentTypeCategorizationMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_InvestmentTypeAxis_1 To us-gaap_InvestmentTypeCategorizationMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_1" xlink:title="us-gaap_SubsidiarySaleOfStockAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_1" xlink:title="us-gaap_SaleOfStockNameOfTransactionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsidiarySaleOfStockAxis_1" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsidiarySaleOfStockAxis_1 To us-gaap_SaleOfStockNameOfTransactionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis_1" xlink:title="us-gaap_MeasurementInputTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain_1" xlink:title="us-gaap_MeasurementInputTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_MeasurementInputTypeAxis_1" xlink:to="us-gaap_MeasurementInputTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_MeasurementInputTypeAxis_1 To us-gaap_MeasurementInputTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_1" xlink:title="us-gaap_LongtermDebtTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_1" xlink:title="us-gaap_LongtermDebtTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LongtermDebtTypeAxis_1" xlink:to="us-gaap_LongtermDebtTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LongtermDebtTypeAxis_1 To us-gaap_LongtermDebtTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis_1" xlink:title="us-gaap_GranteeStatusAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain_1" xlink:title="us-gaap_GranteeStatusDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_GranteeStatusAxis_1" xlink:to="us-gaap_GranteeStatusDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_GranteeStatusAxis_1 To us-gaap_GranteeStatusDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramAxis" xlink:label="srt_ShareRepurchaseProgramAxis_1" xlink:title="us-gaap_ShareRepurchaseProgramAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramDomain" xlink:label="srt_ShareRepurchaseProgramDomain_1" xlink:title="us-gaap_ShareRepurchaseProgramDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ShareRepurchaseProgramAxis_1" xlink:to="srt_ShareRepurchaseProgramDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ShareRepurchaseProgramAxis_1 To us-gaap_ShareRepurchaseProgramDomain_1" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="995200300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <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_StockholdersEquity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesIssued" xlink:label="us-gaap_SharesIssued" />
    <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_SharesIssued" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <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_StockIssuedDuringPeriodSharesNewIssues" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <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_StockIssuedDuringPeriodValueStockOptionsExercised" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <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_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="8" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodValueContingentConsideration" xlink:label="tpcs_StockIssuedDuringPeriodValueContingentConsideration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_StatementLineItems" xlink:to="tpcs_StockIssuedDuringPeriodValueContingentConsideration" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:label="tpcs_StockIssuedDuringPeriodSharesContingentConsideration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_StatementLineItems" xlink:to="tpcs_StockIssuedDuringPeriodSharesContingentConsideration" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan" xlink:label="tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_StatementLineItems" xlink:to="tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" xlink:label="tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_StatementLineItems" xlink:to="tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockSplitFractionalShareRoundUpInShares" xlink:label="tpcs_StockSplitFractionalShareRoundUpInShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_StatementLineItems" xlink:to="tpcs_StockSplitFractionalShareRoundUpInShares" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xlink:type="extended" xlink:title="995200405 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="srt_TitleOfIndividualAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.xsd#srt_ChiefFinancialOfficerMember" xlink:label="srt_ChiefFinancialOfficerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ChiefFinancialOfficerMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="us-gaap_TypeOfArrangementAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" xlink:label="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CommonStockPursuantToOptionAwards" xlink:label="tpcs_CommonStockPursuantToOptionAwards" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="tpcs_CommonStockPursuantToOptionAwards" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OptionsExercisedAsCashlessNetSettlementTransaction" xlink:label="tpcs_OptionsExercisedAsCashlessNetSettlementTransaction" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="tpcs_OptionsExercisedAsCashlessNetSettlementTransaction" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureRevenueTables" xlink:type="extended" xlink:title="99930403 - Disclosure - REVENUE (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="1" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesMember" xlink:label="us-gaap_SalesMember" />
    <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_SalesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" />
    <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_DisaggregationOfRevenueTableTextBlock" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables" xlink:type="extended" xlink:title="99930803 - Disclosure - CONCENTRATION OF RISK (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="1" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="1" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" />
    <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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails" xlink:type="extended" xlink:title="99940201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)">
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.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/2024/elts/srt-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:to="us-gaap_DebtInstrumentAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BerkshireLoanMember" xlink:label="tpcs_BerkshireLoanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="tpcs_BerkshireLoanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="4" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:to="us-gaap_CreditFacilityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="tpcs-20240331.xsd#tpcs_RevolverLoanMember" xlink:label="tpcs_RevolverLoanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="tpcs_RevolverLoanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:to="us-gaap_SubsequentEventTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="6" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_PrivatePlacementMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" xlink:label="us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="3" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_TotalAvailableLiquidity" xlink:label="tpcs_TotalAvailableLiquidity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="tpcs_TotalAvailableLiquidity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts" xlink:label="tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="8" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_LineOfCredit" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_SaleOfStockAndWarrantPricePerShare" xlink:label="tpcs_SaleOfStockAndWarrantPricePerShare" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="tpcs_SaleOfStockAndWarrantPricePerShare" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoninterestExpenseTransferAgentAndCustodianFees" xlink:label="us-gaap_NoninterestExpenseTransferAgentAndCustodianFees" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NoninterestExpenseTransferAgentAndCustodianFees" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails" xlink:type="extended" xlink:title="99940202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES - SG&amp;A, Stock Based Compensation (Details)">
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:to="us-gaap_IncomeStatementLocationAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" />
    <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_SellingGeneralAndAdministrativeExpensesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpenseAbstract" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LaborAndRelatedExpense" xlink:label="us-gaap_LaborAndRelatedExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract" xlink:to="us-gaap_LaborAndRelatedExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfessionalFees" xlink:label="us-gaap_ProfessionalFees" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract" xlink:to="us-gaap_ProfessionalFees" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherGeneralAndAdministrativeExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract" xlink:to="us-gaap_OtherGeneralAndAdministrativeExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination" xlink:label="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract" xlink:to="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockBasedAcquisitionTerminationFeesAmount" xlink:label="tpcs_StockBasedAcquisitionTerminationFeesAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract" xlink:to="tpcs_StockBasedAcquisitionTerminationFeesAmount" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_SellingGeneralAndAdministrativeExpenseAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails" xlink:type="extended" xlink:title="99940401 - Disclosure - REVENUE - Disaggregated basis (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <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_MajorCustomersAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DefenseMember" xlink:label="tpcs_DefenseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_DefenseMember" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_IndustrialMember" xlink:label="tpcs_IndustrialMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_IndustrialMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TransferredOverTimeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TransferredAtPointInTimeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <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_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" xlink:type="extended" xlink:title="99940402 - Disclosure - REVENUE - Net sales from customers (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <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_MajorCustomersAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerAMember" xlink:label="tpcs_CustomerAMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_CustomerAMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerBMember" xlink:label="tpcs_CustomerBMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_CustomerBMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerCMember" xlink:label="tpcs_CustomerCMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_CustomerCMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerDMember" xlink:label="tpcs_CustomerDMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_CustomerDMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerEMember" xlink:label="tpcs_CustomerEMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_CustomerEMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_DisaggregationOfRevenueTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="1" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="3" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_TradeReceivablesMember" xlink:label="tpcs_TradeReceivablesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="tpcs_TradeReceivablesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <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_Revenues" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="3" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails" xlink:type="extended" xlink:title="99940403 - Disclosure - REVENUE - Contract assets and contract liabilities (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesBillingStatusDomain" xlink:label="us-gaap_ReceivablesBillingStatusDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:to="us-gaap_ReceivablesBillingStatusDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnbilledRevenuesMember" xlink:label="us-gaap_UnbilledRevenuesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ReceivablesBillingStatusDomain" xlink:to="us-gaap_UnbilledRevenuesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AdjustmentsProgressPaymentsReceivableMember" xlink:label="tpcs_AdjustmentsProgressPaymentsReceivableMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ReceivablesBillingStatusDomain" xlink:to="tpcs_AdjustmentsProgressPaymentsReceivableMember" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DeferredRevenueMember" xlink:label="tpcs_DeferredRevenueMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="tpcs_DeferredRevenueMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerDepositsMember" xlink:label="tpcs_CustomerDepositsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="tpcs_CustomerDepositsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" />
    <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_ContractWithCustomerAssetNetCurrent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" xlink:type="extended" xlink:title="99940404 - Disclosure - REVENUE - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.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/2024/elts/srt-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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="2" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="3" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50" xlink:label="tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="5" 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/2024/elts/us-gaap-2024.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="6" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails" xlink:type="extended" xlink:title="99940504 - Disclosure - INCOME TAXES - Carryforwards and Unrecognized Tax Benefits (Details)">
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OperatingLossAndTaxCreditCarryforwardsTable" xlink:label="tpcs_OperatingLossAndTaxCreditCarryforwardsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsTable" xlink:to="us-gaap_TaxPeriodAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_TaxYearsPriorToTwoThousandTwentyOneMember" xlink:label="tpcs_TaxYearsPriorToTwoThousandTwentyOneMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="tpcs_TaxYearsPriorToTwoThousandTwentyOneMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems" xlink:label="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems" xlink:to="tpcs_OperatingLossAndTaxCreditCarryforwardsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails" xlink:type="extended" xlink:title="99940601 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE - (EPS) (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WarrantMember" xlink:label="us-gaap_WarrantMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_WarrantMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ScheduleOfStockByClassTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_EarningsPerShareBasicAbstract" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasic" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="us-gaap_EarningsPerShareDilutedAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_EarningsPerShareDilutedAbstract" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EarningsPerShareDilutedAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EarningsPerShareDilutedAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EarningsPerShareDilutedAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" xlink:type="extended" xlink:title="99940702 - Disclosure - STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RangeOneMember" xlink:label="tpcs_RangeOneMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="tpcs_RangeOneMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RangeTwoMember" xlink:label="tpcs_RangeTwoMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="tpcs_RangeTwoMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" xlink:type="extended" xlink:title="99940703 - Disclosure - STOCK-BASED COMPENSATION - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.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="tpcs-20240331.xsd#tpcs_FormerChiefFinancialOfficerMember" xlink:label="tpcs_FormerChiefFinancialOfficerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="tpcs_FormerChiefFinancialOfficerMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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="tpcs-20240331.xsd#tpcs_EquityIncentivePlan2016Member" xlink:label="tpcs_EquityIncentivePlan2016Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="tpcs_EquityIncentivePlan2016Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="4" 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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" />
    <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_RestrictedStockMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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="2" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <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_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
    <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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedForFinderFee" xlink:label="tpcs_StockIssuedForFinderFee" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="tpcs_StockIssuedForFinderFee" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="12" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" />
    <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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeBenefitsAndShareBasedCompensation" xlink:label="us-gaap_EmployeeBenefitsAndShareBasedCompensation" />
    <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_EmployeeBenefitsAndShareBasedCompensation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" />
    <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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails" xlink:type="extended" xlink:title="99940704 - Disclosure - STOCK-BASED COMPENSATION - Board of directors common stock award (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis" />
    <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_GranteeStatusAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_GranteeStatusAxis" xlink:to="us-gaap_GranteeStatusDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedPaymentArrangementNonemployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementNonemployeeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GranteeStatusDomain" xlink:to="us-gaap_ShareBasedPaymentArrangementNonemployeeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="2" 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/2024/elts/us-gaap-2024.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="tpcs-20240331.xsd#tpcs_EquityIncentivePlan2016Member" xlink:label="tpcs_EquityIncentivePlan2016Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="tpcs_EquityIncentivePlan2016Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="3" 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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ServiceBasedRestrictedStockOneMember" xlink:label="tpcs_ServiceBasedRestrictedStockOneMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="tpcs_ServiceBasedRestrictedStockOneMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ServiceBasedRestrictedStockTwoMember" xlink:label="tpcs_ServiceBasedRestrictedStockTwoMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="tpcs_ServiceBasedRestrictedStockTwoMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <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_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <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_AllocatedShareBasedCompensationExpense" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails" xlink:type="extended" xlink:title="99940801 - Disclosure - CONCENTRATION OF RISK (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="1" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="1" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_TradeReceivablesMember" xlink:label="tpcs_TradeReceivablesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="tpcs_TradeReceivablesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="1" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerAMember" xlink:label="tpcs_CustomerAMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_CustomerAMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerBMember" xlink:label="tpcs_CustomerBMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_CustomerBMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerCMember" xlink:label="tpcs_CustomerCMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_CustomerCMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerDMember" xlink:label="tpcs_CustomerDMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_CustomerDMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerEMember" xlink:label="tpcs_CustomerEMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_CustomerEMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_Customers.Member" xlink:label="tpcs_Customers.Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_Customers.Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerCDMember" xlink:label="tpcs_CustomerCDMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_CustomerCDMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OneSupplierMember" xlink:label="tpcs_OneSupplierMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="tpcs_OneSupplierMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_NumberOfSignificantCustomers" xlink:label="tpcs_NumberOfSignificantCustomers" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="tpcs_NumberOfSignificantCustomers" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_AccountsReceivableNetCurrent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="4" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xlink:type="extended" xlink:title="99941001 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_MachineryEquipmentFurnitureAndFixturesMember" xlink:label="tpcs_MachineryEquipmentFurnitureAndFixturesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="tpcs_MachineryEquipmentFurnitureAndFixturesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ConstructionInProgressMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:label="us-gaap_CostOfGoodsAndServicesSoldDepreciation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSoldDepreciation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisposals" xlink:label="us-gaap_PropertyPlantAndEquipmentDisposals" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentDisposals" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ProceedsFromFixedAssetsInsuranceSettlement" xlink:label="tpcs_ProceedsFromFixedAssetsInsuranceSettlement" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="tpcs_ProceedsFromFixedAssetsInsuranceSettlement" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestCostsCapitalized" xlink:label="us-gaap_InterestCostsCapitalized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_InterestCostsCapitalized" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" xlink:type="extended" xlink:title="99941201 - Disclosure - DEBT - Long-term Debt (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" xlink:label="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member" xlink:label="tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member" xlink:label="tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligations" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="us-gaap_DebtWeightedAverageInterestRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtWeightedAverageInterestRate" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" xlink:type="extended" xlink:title="99941202 - Disclosure - DEBT - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" xlink:label="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member" xlink:label="tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member" xlink:label="tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RanorTermLoanMember" xlink:label="tpcs_RanorTermLoanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="tpcs_RanorTermLoanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanMember" xlink:label="tpcs_StadcoTermLoanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="tpcs_StadcoTermLoanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BerkshireLoanMember" xlink:label="tpcs_BerkshireLoanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="tpcs_BerkshireLoanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_RangeAxis" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.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/2024/elts/srt-2024.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.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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="tpcs-20240331.xsd#tpcs_RanorIncMember" xlink:label="tpcs_RanorIncMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="tpcs_RanorIncMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="4" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_CreditFacilityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RevolverLoanMember" xlink:label="tpcs_RevolverLoanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="tpcs_RevolverLoanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SecuredDebtMember" xlink:label="us-gaap_SecuredDebtMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_SecuredDebtMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NotesPayableOtherPayablesMember" xlink:label="us-gaap_NotesPayableOtherPayablesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_NotesPayableOtherPayablesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_SubsequentEventTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ProceedsFromTermLoan" xlink:label="tpcs_ProceedsFromTermLoan" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_ProceedsFromTermLoan" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTerm" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentPeriodicPayment" xlink:label="us-gaap_DebtInstrumentPeriodicPayment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentPeriodicPayment" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RequiredMinimumDebtServiceCoverageRatio" xlink:label="tpcs_RequiredMinimumDebtServiceCoverageRatio" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_RequiredMinimumDebtServiceCoverageRatio" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LateChargeFeePercentage" xlink:label="tpcs_LateChargeFeePercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_LateChargeFeePercentage" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DefaultInterestRate" xlink:label="tpcs_DefaultInterestRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_DefaultInterestRate" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance" xlink:label="tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances" xlink:label="tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances" xlink:label="tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase" xlink:label="tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances" xlink:label="tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCredit" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestExpenseDebt" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="us-gaap_DebtWeightedAverageInterestRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtWeightedAverageInterestRate" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsGross" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CashFlowRatioOfDebtService" xlink:label="tpcs_CashFlowRatioOfDebtService" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_CashFlowRatioOfDebtService" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CashFlowToTotalDebtService" xlink:label="tpcs_CashFlowToTotalDebtService" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_CashFlowToTotalDebtService" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentCovenantLeverageRatioYearOne" xlink:label="tpcs_DebtInstrumentCovenantLeverageRatioYearOne" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_DebtInstrumentCovenantLeverageRatioYearOne" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CapitalExpendituresFromPurchaseOfFixedAssets" xlink:label="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="25" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentCovenantLoanToValueRatio" xlink:label="tpcs_DebtInstrumentCovenantLoanToValueRatio" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="26" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_DebtInstrumentCovenantLoanToValueRatio" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio" xlink:label="tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_NonrefundableCommitmentFeePercentages" xlink:label="tpcs_NonrefundableCommitmentFeePercentages" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="28" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="tpcs_NonrefundableCommitmentFeePercentages" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="29" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_UnamortizedDebtIssuanceExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="30" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails" xlink:type="extended" xlink:title="99941301 - Disclosure - OTHER NONCURRENT LIABILITY (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" xlink:label="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable" xlink:label="tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage" xlink:label="tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureLeasesDetails" xlink:type="extended" xlink:title="99941401 - Disclosure - LEASES (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentMember" xlink:label="us-gaap_PropertyPlantAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OtherLeaseAssetsAndLeaseLiabilities" xlink:label="tpcs_OtherLeaseAssetsAndLeaseLiabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="tpcs_OtherLeaseAssetsAndLeaseLiabilities" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LesseeFinanceLeaseMonthlyPayments" xlink:label="tpcs_LesseeFinanceLeaseMonthlyPayments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="tpcs_LesseeFinanceLeaseMonthlyPayments" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="4" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RightOfUseAsset" xlink:label="tpcs_RightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="tpcs_RightOfUseAsset" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeaseLiability" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_FinanceLeaseLiability" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LeaseLiability" xlink:label="tpcs_LeaseLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="tpcs_LeaseLiability" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" xlink:type="extended" xlink:title="99941601 - Disclosure - SEGMENT INFORMATION - Financial information for segments (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RanorIncMember" xlink:label="tpcs_RanorIncMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="tpcs_RanorIncMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoAcquisitionLlcMember" xlink:label="tpcs_StadcoAcquisitionLlcMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="tpcs_StadcoAcquisitionLlcMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember" />
    <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_IntersegmentEliminationMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="3" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_CorporateNonSegmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <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_NumberOfReportableSegments" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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="4" 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/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating" xlink:label="us-gaap_InterestExpenseNonoperating" />
    <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_InterestExpenseNonoperating" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_EmployeeRetentionCreditRefund" xlink:label="tpcs_EmployeeRetentionCreditRefund" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="tpcs_EmployeeRetentionCreditRefund" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OtherIncomeAndExpense" xlink:label="tpcs_OtherIncomeAndExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="tpcs_OtherIncomeAndExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="8" 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/2024/elts/us-gaap-2024.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="9" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Assets" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" />
    <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_DepreciationAndAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CapitalExpendituresFromPurchaseOfFixedAssets" xlink:label="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" xlink:type="extended" xlink:title="99941701 - Disclosure - SUBSEQUENT EVENTS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_PrivatePlacementMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodSharesStockTerminationFee" xlink:label="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee" xlink:label="tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" xlink:label="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" priority="1" use="optional" />
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>15
<FILENAME>tpcs-20240331_lab.xml
<DESCRIPTION>EX-101.LAB
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.7.0.1 -->
<!--Based on XBRL 2.1-->
<!--Created on: 9/13/2024 8:59:54 PM-->
<!--Modified on: 9/13/2024 8:59:54 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/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Document and Entity Information</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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/2024/dei-2024.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:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_IcfrAuditorAttestationFlag_lbl" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xml:lang="en-US">Document Financial Statement Error Correction [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorName_lbl" xml:lang="en-US">Auditor Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorFirmId_lbl" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorLocation_lbl" xml:lang="en-US">Auditor Location</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">CONSOLIDATED BALANCE SHEETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/verboseLabel" 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/2024/elts/us-gaap-2024.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/terseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net</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</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsAndSupplies" xlink:to="us-gaap_InventoryRawMaterialsAndSupplies_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xml:lang="en-US">Inventory, Raw Materials and Supplies, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xml:lang="en-US">Raw materials</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xml:lang="en-US">Inventory, Work in Process, Net of Reserves</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xml:lang="en-US">Work-in-process</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/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/2024/elts/us-gaap-2024.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/terseLabel" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_lbl" xml:lang="en-US">Finance Lease, Right-of-Use Asset, after Accumulated Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_lbl" xml:lang="en-US">Right of use asset - finance leases</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_lbl" xml:lang="en-US">Right of use asset, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 Tax Assets, Net, Noncurrent</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 income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other noncurrent assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="tpcs-20240331.xsd#tpcs_LeaseLiabilityCurrent" xlink:label="tpcs_LeaseLiabilityCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_LeaseLiabilityCurrent" xlink:to="tpcs_LeaseLiabilityCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_LeaseLiabilityCurrent_lbl" xml:lang="en-US">Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_LeaseLiabilityCurrent_lbl" xml:lang="en-US">Lease Liability Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_LeaseLiabilityCurrent_lbl" xml:lang="en-US">Current portion of long-term lease liability</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_lbl" xml:lang="en-US">Long-Term Debt and Lease Obligation, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_lbl" xml:lang="en-US">Current portion of long-term debt, net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_lbl" xml:lang="en-US">Less: Current portion of long-term debt</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/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/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US">Long-term Debt, Excluding Current Maturities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US">Long-term debt, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Finance Lease, Liability, Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Long-term lease liability</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US">Other Liabilities, Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US">Other noncurrent liability</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/verboseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and contingent liabilities (see Note 15)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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 $.0001 per share, shares authorized: March 31, 2024 - 50,000,000; Shares issued and outstanding: March 31, 2024 - 8,777,432; March 31, 2023 - 8,613,408</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional Paid in Capital</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional paid in capital</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/verboseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained earnings (accumulated deficit)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Balance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Balance</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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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/2024/elts/us-gaap-2024.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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Number of authorized common shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Number of outstanding common shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">CONSOLIDATED STATEMENTS OF OPERATIONS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_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_Revenues_lbl" xml:lang="en-US">Net sales</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Revenues</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US">Cost of sales</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/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/2024/elts/us-gaap-2024.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</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Total Selling, General and Administrative</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Loss 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">Operating income (loss)</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OtherIncomeAndExpense" xlink:label="tpcs_OtherIncomeAndExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_OtherIncomeAndExpense" xlink:to="tpcs_OtherIncomeAndExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_OtherIncomeAndExpense_lbl" xml:lang="en-US">Amount of other income (expense) related to nonoperating activities, classified as other.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_OtherIncomeAndExpense_lbl" xml:lang="en-US">Other Income and Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_OtherIncomeAndExpense_lbl" xml:lang="en-US">Other income (expense), net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating" xlink:label="us-gaap_InterestExpenseNonoperating" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseNonoperating" xlink:to="us-gaap_InterestExpenseNonoperating_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpenseNonoperating_lbl" xml:lang="en-US">Interest Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpenseNonoperating_lbl" xml:lang="en-US">Interest expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_InterestExpenseNonoperating_lbl" xml:lang="en-US">Interest expense, net</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_EmployeeRetentionCreditRefund" xlink:label="tpcs_EmployeeRetentionCreditRefund" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_EmployeeRetentionCreditRefund" xlink:to="tpcs_EmployeeRetentionCreditRefund_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_EmployeeRetentionCreditRefund_lbl" xml:lang="en-US">The amount of employee retention credit refund.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_EmployeeRetentionCreditRefund_lbl" xml:lang="en-US">Employee Retention Credit Refund</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_EmployeeRetentionCreditRefund_lbl" xml:lang="en-US">Refundable employee retention tax credits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US">Nonoperating Income (Expense)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US">Total other (expense) income, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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, Noncontrolling Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Loss before income taxes</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">Loss 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">Pre-tax losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US">Net Income (Loss) Available to Common Stockholders, Basic</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US">Net loss</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US">Net loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Net loss per share - 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">Net loss per share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/terseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Net loss per share - diluted (in dollars per share)</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">Net loss per share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Weighted average number of shares outstanding - 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 shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted average number of shares outstanding - diluted (in shares)</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">Weighted average shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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 Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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/2024/elts/us-gaap-2024.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 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesIssued" xlink:label="us-gaap_SharesIssued" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssued" xlink:to="us-gaap_SharesIssued_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesIssued_lbl" xml:lang="en-US">Shares, Issued</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesIssued_lbl" xml:lang="en-US">Balance (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesIssued_lbl" xml:lang="en-US">Balance (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US">Stock Issued During Period, Shares, New Issues</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US">Issuance of common stock (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Stock award nonemployee directors</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Stock options exercised (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Aggregate common stock shares granted to non-employee director (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Tax withheld for exercised options</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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-based compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US">Restricted stock award</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US">Restricted stock award (in share)</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodValueContingentConsideration" xlink:label="tpcs_StockIssuedDuringPeriodValueContingentConsideration" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StockIssuedDuringPeriodValueContingentConsideration" xlink:to="tpcs_StockIssuedDuringPeriodValueContingentConsideration_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StockIssuedDuringPeriodValueContingentConsideration_lbl" xml:lang="en-US">Value of stock issued  for contingent consideration.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StockIssuedDuringPeriodValueContingentConsideration_lbl" xml:lang="en-US">Stock Issued During Period, Value, Contingent Consideration</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_StockIssuedDuringPeriodValueContingentConsideration_lbl" xml:lang="en-US">Stock issued for contingent consideration</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:label="tpcs_StockIssuedDuringPeriodSharesContingentConsideration" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:to="tpcs_StockIssuedDuringPeriodSharesContingentConsideration_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StockIssuedDuringPeriodSharesContingentConsideration_lbl" xml:lang="en-US">Number of shares issued for contingent consideration.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StockIssuedDuringPeriodSharesContingentConsideration_lbl" xml:lang="en-US">Stock Issued During Period, Shares, Contingent Consideration</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_StockIssuedDuringPeriodSharesContingentConsideration_lbl" xml:lang="en-US">Stock issued for contingent consideration (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan" xlink:label="tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan" xlink:to="tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan_lbl" xml:lang="en-US">Number of shares of capital stock issued (purchased by nonemployee directors) in connection with an nonemployee directors stock ownership plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan_lbl" xml:lang="en-US">Stock Issued During Period Shares Nonemployee Director Stock Ownership Plan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan_lbl" xml:lang="en-US">Stock award non-employee directors (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" xlink:label="tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" xlink:to="tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan_lbl" xml:lang="en-US">duration credit. defi: Aggregate value of stock issued during the period as a result of nonemployee directors stock ownership plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan_lbl" xml:lang="en-US">Stock Issued During Period Value Nonemployee Directors Stock Ownership Plan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan_lbl" xml:lang="en-US">Stock award non-employee directors</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockSplitFractionalShareRoundUpInShares" xlink:label="tpcs_StockSplitFractionalShareRoundUpInShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StockSplitFractionalShareRoundUpInShares" xlink:to="tpcs_StockSplitFractionalShareRoundUpInShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StockSplitFractionalShareRoundUpInShares_lbl" xml:lang="en-US">Number of shares in stock split fractional share round up.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StockSplitFractionalShareRoundUpInShares_lbl" xml:lang="en-US">Stock Split Fractional Share Round Up In Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_StockSplitFractionalShareRoundUpInShares_lbl" xml:lang="en-US">Stock split fractional share round up (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income (loss)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">CONSOLIDATED STATEMENTS OF CASH FLOWS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments, Noncash Items, 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/verboseLabel" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net loss to net cash provided by operating activities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation, Depletion and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfFinancingCosts" xlink:to="us-gaap_AmortizationOfFinancingCosts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US">Amortization of Debt Issuance Costs</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US">Amortization of debt issue costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US">Gain on disposal of equipment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US">Gain on disposal of equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 based compensation and restricted stock awards</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnContractTermination" xlink:label="us-gaap_GainLossOnContractTermination" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnContractTermination" xlink:to="us-gaap_GainLossOnContractTermination_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnContractTermination_lbl" xml:lang="en-US">Gain (Loss) on Contract Termination</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnContractTermination_lbl" xml:lang="en-US">Change in contract loss provision</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Total Deferred</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockBasedAcquisitionTerminationFeesAmount" xlink:label="tpcs_StockBasedAcquisitionTerminationFeesAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StockBasedAcquisitionTerminationFeesAmount" xlink:to="tpcs_StockBasedAcquisitionTerminationFeesAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StockBasedAcquisitionTerminationFeesAmount_lbl" xml:lang="en-US">Amount of stock-based acquisition termination fee payable.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StockBasedAcquisitionTerminationFeesAmount_lbl" xml:lang="en-US">Stock Based Acquisition Termination Fees, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_StockBasedAcquisitionTerminationFeesAmount_lbl" xml:lang="en-US">Stock based acquisition termination fee</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockBasedExpenseForContingentConsideration" xlink:label="tpcs_StockBasedExpenseForContingentConsideration" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StockBasedExpenseForContingentConsideration" xlink:to="tpcs_StockBasedExpenseForContingentConsideration_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StockBasedExpenseForContingentConsideration_lbl" xml:lang="en-US">Amount of stock based expense for contingent consideration.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StockBasedExpenseForContingentConsideration_lbl" xml:lang="en-US">Stock Based Expense for Contingent Consideration</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_StockBasedExpenseForContingentConsideration_lbl" xml:lang="en-US">Stock based expense for contingent consideration</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_GainLossFromContingentConsideration" xlink:label="tpcs_GainLossFromContingentConsideration" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_GainLossFromContingentConsideration" xlink:to="tpcs_GainLossFromContingentConsideration_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_GainLossFromContingentConsideration_lbl" xml:lang="en-US">Amount of Gain (loss) obtained from contingent consideration.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_GainLossFromContingentConsideration_lbl" xml:lang="en-US">Gain (Loss) from Contingent Consideration</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="tpcs_GainLossFromContingentConsideration_lbl" xml:lang="en-US">Change in fair value for contingent consideration</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Work-in-process and raw materials</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl" xml:lang="en-US">Increase (Decrease) in Other Current Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl" xml:lang="en-US">Other current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xml:lang="en-US">Accounts payable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xml:lang="en-US">Accrued expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_IncreaseDecreaseInContractLiabilities" xlink:label="tpcs_IncreaseDecreaseInContractLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_IncreaseDecreaseInContractLiabilities" xlink:to="tpcs_IncreaseDecreaseInContractLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_IncreaseDecreaseInContractLiabilities_lbl" xml:lang="en-US">The increase (decrease) during the reporting period in contract liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_IncreaseDecreaseInContractLiabilities_lbl" xml:lang="en-US">Increase Decrease in Contract Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_IncreaseDecreaseInContractLiabilities_lbl" xml:lang="en-US">Contract liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xml:lang="en-US">Increase (Decrease) in Other Operating Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xml:lang="en-US">Other noncurrent liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 operating activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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="tpcs-20240331.xsd#tpcs_ProceedsFromFixedAssetsInsuranceSettlement" xlink:label="tpcs_ProceedsFromFixedAssetsInsuranceSettlement" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ProceedsFromFixedAssetsInsuranceSettlement" xlink:to="tpcs_ProceedsFromFixedAssetsInsuranceSettlement_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ProceedsFromFixedAssetsInsuranceSettlement_lbl" xml:lang="en-US">The cash inflow for proceeds from fixed assets insurance settlement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ProceedsFromFixedAssetsInsuranceSettlement_lbl" xml:lang="en-US">Proceeds From Fixed Assets Insurance Settlement</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_ProceedsFromFixedAssetsInsuranceSettlement_lbl" xml:lang="en-US">Proceeds from fixed assets insurance settlement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US">Proceeds from Sale of Property, Plant, and Equipment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US">Proceeds from sale of fixed assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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="tpcs-20240331.xsd#tpcs_ProceedsFromTermLoan" xlink:label="tpcs_ProceedsFromTermLoan" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ProceedsFromTermLoan" xlink:to="tpcs_ProceedsFromTermLoan_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ProceedsFromTermLoan_lbl" xml:lang="en-US">The cash inflow for Proceeds From Term Loan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ProceedsFromTermLoan_lbl" xml:lang="en-US">Proceeds From Term Loan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_ProceedsFromTermLoan_lbl" xml:lang="en-US">Proceeds from term loan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_ProceedsFromTermLoan_lbl" xml:lang="en-US">Proceeds from revolver loan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLinesOfCredit" xlink:to="us-gaap_RepaymentsOfLinesOfCredit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_lbl" xml:lang="en-US">Repayments of Lines of Credit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_lbl" xml:lang="en-US">Repayment of revolver loan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfLoanCosts" xlink:label="us-gaap_PaymentsOfLoanCosts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfLoanCosts" xlink:to="us-gaap_PaymentsOfLoanCosts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfLoanCosts_lbl" xml:lang="en-US">Payments of Loan Costs</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfLoanCosts_lbl" xml:lang="en-US">Debt issuance costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeasePrincipalPayments" xlink:to="us-gaap_FinanceLeasePrincipalPayments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeasePrincipalPayments_lbl" xml:lang="en-US">Repayments of Long-term Capital Lease Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FinanceLeasePrincipalPayments_lbl" xml:lang="en-US">Principal payments for leases</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeasePrincipalPayments_lbl" xml:lang="en-US">Cash used in financing activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Repayments of Long-term Debt</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Repayment of long-term debt</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 provided by (used in) financing activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US">Proceeds from Issuance of Common Stock</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US">Aggregate purchase price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US">Proceeds from sale of common stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 decrease in cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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 DISCLOSURES OF CASH FLOWS INFORMATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Interest Paid, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Cash paid during the year for interest (net of interest capitalized)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_lbl" xml:lang="en-US">Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.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">Relationship to Entity [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ChiefFinancialOfficerMember" xlink:label="srt_ChiefFinancialOfficerMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ChiefFinancialOfficerMember" xlink:to="srt_ChiefFinancialOfficerMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ChiefFinancialOfficerMember_lbl" xml:lang="en-US">Chief Financial Officer [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="srt_ChiefFinancialOfficerMember_lbl" xml:lang="en-US">Chief Financial Officer</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_TypeOfArrangementAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TypeOfArrangementAxis_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" xlink:label="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" xlink:to="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_lbl" xml:lang="en-US">Represents information pertaining to payment arrangement agreement with Department of Water and Power of the City of Los Angeles.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_lbl" xml:lang="en-US">Payment Arrangement Agreement with Department of Water and Power of the City of Los Angeles [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_lbl" xml:lang="en-US">Stadco's payment agreement with the LADWP</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_lbl" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CommonStockPursuantToOptionAwards" xlink:label="tpcs_CommonStockPursuantToOptionAwards" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_CommonStockPursuantToOptionAwards" xlink:to="tpcs_CommonStockPursuantToOptionAwards_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_CommonStockPursuantToOptionAwards_lbl" xml:lang="en-US">It represents the common stock pursuant to option awards.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_CommonStockPursuantToOptionAwards_lbl" xml:lang="en-US">Common Stock Pursuant To Option Awards</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_CommonStockPursuantToOptionAwards_lbl" xml:lang="en-US">Company common stock pursuant to option awards</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OptionsExercisedAsCashlessNetSettlementTransaction" xlink:label="tpcs_OptionsExercisedAsCashlessNetSettlementTransaction" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_OptionsExercisedAsCashlessNetSettlementTransaction" xlink:to="tpcs_OptionsExercisedAsCashlessNetSettlementTransaction_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_OptionsExercisedAsCashlessNetSettlementTransaction_lbl" xml:lang="en-US">It represents the options exercised as cashless net settlement transaction.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_OptionsExercisedAsCashlessNetSettlementTransaction_lbl" xml:lang="en-US">Options Exercised As Cashless Net Settlement Transaction</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_OptionsExercisedAsCashlessNetSettlementTransaction_lbl" xml:lang="en-US">Options exercised as a cashless net settlement transaction</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService_lbl" xml:lang="en-US">Amount of aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService_lbl" xml:lang="en-US">Aggregate Delinquent and Unpaid Outstanding Amounts for Water, Water Service, Electric Energy and/ or Electric Service</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService_lbl" xml:lang="en-US">Aggregate delinquent and unpaid outstanding amounts for water, water service, electric energy and/or electric service</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent_lbl" xml:lang="en-US">Amount of current liability for aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent_lbl" xml:lang="en-US">Aggregate Delinquent and Unpaid Outstanding Amounts for Water, Water Service, Electric Energy and/ or Electric Service, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent_lbl" xml:lang="en-US">Current liability</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent_lbl" xml:lang="en-US">Amount of noncurrent liability for aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent_lbl" xml:lang="en-US">Aggregate Delinquent and Unpaid Outstanding Amounts for Water, Water Service, Electric Energy and/ or Electric Service, Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent_lbl" xml:lang="en-US">Noncurrent liability</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 BUSINESS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NatureOfOperations" xlink:to="us-gaap_NatureOfOperations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US">Nature of Operations [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US">DESCRIPTION OF BUSINESS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_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/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Basis of Presentation and Significant Accounting Policies [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_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/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_lbl" xml:lang="en-US">ACCOUNTING STANDARDS UPDATE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_lbl" xml:lang="en-US">New Accounting Pronouncements and Changes in Accounting Principles [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_lbl" xml:lang="en-US">ACCOUNTING STANDARDS UPDATE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">REVENUE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">REVENUE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/terseLabel" 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/2024/elts/us-gaap-2024.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">CAPITAL STOCK and EARNINGS PER SHARE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">CAPITAL STOCK and EARNINGS PER SHARE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/terseLabel" 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/2024/elts/us-gaap-2024.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">CONCENTRATION OF RISK</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/verboseLabel" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl" xml:lang="en-US">CONCENTRATION OF RISK</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_lbl" xml:lang="en-US">OTHER CURRENT ASSETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherCurrentAssetsTextBlock" xlink:label="us-gaap_OtherCurrentAssetsTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherCurrentAssetsTextBlock" xlink:to="us-gaap_OtherCurrentAssetsTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherCurrentAssetsTextBlock_lbl" xml:lang="en-US">Other Current Assets [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherCurrentAssetsTextBlock_lbl" xml:lang="en-US">OTHER CURRENT ASSETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_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/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PayablesAndAccrualsAbstract_lbl" xml:lang="en-US">ACCRUED EXPENSES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US">ACCRUED EXPENSES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">DEBT</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/terseLabel" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US">DEBT</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesDisclosureAbstract" xlink:label="us-gaap_OtherLiabilitiesDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesDisclosureAbstract" xlink:to="us-gaap_OtherLiabilitiesDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesDisclosureAbstract_lbl" xml:lang="en-US">OTHER NONCURRENT LIABILITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_OtherLiabilitiesDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_OtherLiabilitiesDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US">Other Liabilities Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US">OTHER NONCURRENT LIABILITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeasesAbstract_lbl" xml:lang="en-US">LEASES</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LeaseOfLesseeDisclosureTextBlock" xlink:label="tpcs_LeaseOfLesseeDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_LeaseOfLesseeDisclosureTextBlock" xlink:to="tpcs_LeaseOfLesseeDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_LeaseOfLesseeDisclosureTextBlock_lbl" xml:lang="en-US">The entire disclosure for lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_LeaseOfLesseeDisclosureTextBlock_lbl" xml:lang="en-US">Lease of Lessee Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_LeaseOfLesseeDisclosureTextBlock_lbl" xml:lang="en-US">LEASES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">COMMITMENTS AND CONTINGENCIES.</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">COMMITMENTS AND CONTINGENCIES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 INFORMATION.</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/terseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">SEGMENT INFORMATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US">SUBSEQUENT EVENTS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">SUBSEQUENT EVENTS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 Consolidation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use of Estimates in the Preparation of Financial Statements</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock" xlink:label="tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock" xlink:to="tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock_lbl" xml:lang="en-US">Disclosure of accounting policy for defined as risks and uncertainties.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock_lbl" xml:lang="en-US">Risks and Uncertainties, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock_lbl" xml:lang="en-US">Risks and Uncertainties</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesPolicyTextBlock" xlink:label="us-gaap_ReceivablesPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesPolicyTextBlock" xlink:to="us-gaap_ReceivablesPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesPolicyTextBlock_lbl" xml:lang="en-US">Receivables, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReceivablesPolicyTextBlock_lbl" xml:lang="en-US">Accounts receivable and allowance for credit losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventory, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ContractAssetsPolicyTextBlock" xlink:label="tpcs_ContractAssetsPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ContractAssetsPolicyTextBlock" xlink:to="tpcs_ContractAssetsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ContractAssetsPolicyTextBlock_lbl" xml:lang="en-US">Contract Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ContractAssetsPolicyTextBlock_lbl" xml:lang="en-US">Contract Assets [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_ContractAssetsPolicyTextBlock_lbl" xml:lang="en-US">Contract Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_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/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xml:lang="en-US">Lessee, Leases [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xml:lang="en-US">Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtIssuanceCostsPolicyPolicyTextBlock" xlink:label="tpcs_DebtIssuanceCostsPolicyPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DebtIssuanceCostsPolicyPolicyTextBlock" xlink:to="tpcs_DebtIssuanceCostsPolicyPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DebtIssuanceCostsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Disclosure of the accounting policy for debt issuance costs.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DebtIssuanceCostsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Debt Issuance Costs, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_DebtIssuanceCostsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Debt Issuance Costs</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ContractLiabilitiesPolicyTextBlock" xlink:label="tpcs_ContractLiabilitiesPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ContractLiabilitiesPolicyTextBlock" xlink:to="tpcs_ContractLiabilitiesPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ContractLiabilitiesPolicyTextBlock_lbl" xml:lang="en-US">Contract Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ContractLiabilitiesPolicyTextBlock_lbl" xml:lang="en-US">Contract Liabilities [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_ContractLiabilitiesPolicyTextBlock_lbl" xml:lang="en-US">Contract Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 Value Measurements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ContractEstimatesPolicyTextBlock" xlink:label="tpcs_ContractEstimatesPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ContractEstimatesPolicyTextBlock" xlink:to="tpcs_ContractEstimatesPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ContractEstimatesPolicyTextBlock_lbl" xml:lang="en-US">Contract Estimates</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ContractEstimatesPolicyTextBlock_lbl" xml:lang="en-US">Contract Estimates [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_ContractEstimatesPolicyTextBlock_lbl" xml:lang="en-US">Contract Estimates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl" xml:lang="en-US">Selling, General and Administrative Expenses, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl" xml:lang="en-US">Selling, general and administrative</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US">Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US">Stock-based Compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Net Loss per Share of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock" xlink:label="tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock" xlink:to="tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock_lbl" xml:lang="en-US">Tabular disclosure of the components of selling, general, and administrative expenses.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock_lbl" xml:lang="en-US">Schedule of Selling General and Administrative [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock_lbl" xml:lang="en-US">Schedule of selling, general, and administrative expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_SalesMember" xlink:label="us-gaap_SalesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesMember" xlink:to="us-gaap_SalesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesMember_lbl" xml:lang="en-US">Sales</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">REVENUE</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US">CONCENTRATION OF RISK</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 net sales on a disaggregated basis by market and contract type</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xml:lang="en-US">Schedules of Concentration of Risk, by Risk Factor [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xml:lang="en-US">Schedule of trade accounts receivable from customers who accounted for more than 10%</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US">Contract with Customer, Asset and Liability [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US">Schedule of contract assets and contract liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xml:lang="en-US">Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xml:lang="en-US">Schedule of income and loss from continuing operations by location</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">Schedule of components of income tax provision</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/terseLabel" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of reconciliation between income taxes computed at the U.S. federal statutory rate to the actual tax expense for income taxes reported in the consolidated statements of operations and comprehensive loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of the components of deferred income tax assets and liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 reconciliation of the numerators and denominators reflected in the basic and diluted earnings per share computations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Share-based Compensation, Stock Options, Activity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Summary of information about options granted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock_lbl" xml:lang="en-US">Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock_lbl" xml:lang="en-US">Summary of information relating to stock options outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Schedule of components of property, plant and equipment, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US">Schedule of Debt [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US">Schedule of long-term debt</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock" xlink:label="tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock" xlink:to="tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock_lbl" xml:lang="en-US">Tabular disclosure of supplemental balance sheet information related to leases.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock_lbl" xml:lang="en-US">Schedule Of Supplemental Balance Sheet Information Related To Leases [Table text block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock_lbl" xml:lang="en-US">Schedule of right-of-use assets and liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock" xlink:label="tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock" xlink:to="tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock_lbl" xml:lang="en-US">Tabular disclosure of other supplemental information related to leases.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock_lbl" xml:lang="en-US">Schedule Of Other Supplemental Information Related To Leases [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock_lbl" xml:lang="en-US">Schedule of other supplemental information regarding our leases</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock" xlink:label="tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock" xlink:to="tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock_lbl" xml:lang="en-US">Tabular disclosure of supplementary cash flow information pertaining to leases.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock_lbl" xml:lang="en-US">Schedule Of Cash Flow Information Relating To Leases [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock_lbl" xml:lang="en-US">Schedule of supplemental cash flow information</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Finance Lease, Liability, Fiscal Year Maturity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Schedule of maturities of lease liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Summary of financial information for segments</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:to="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_lbl" xml:lang="en-US">Disclosure of information about basis of presentation and summary of significant accounting policies.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_lbl" xml:lang="en-US">BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US">Machinery And Equipment [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US">Machinery and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingMember" xlink:to="us-gaap_BuildingMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingMember_lbl" xml:lang="en-US">Building [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentNameDomain_lbl" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BerkshireLoanMember" xlink:label="tpcs_BerkshireLoanMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_BerkshireLoanMember" xlink:to="tpcs_BerkshireLoanMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_BerkshireLoanMember_lbl" xml:lang="en-US">Berkshire Loan [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_BerkshireLoanMember_lbl" xml:lang="en-US">Berkshire Loan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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="tpcs-20240331.xsd#tpcs_RevolverLoanMember" xlink:label="tpcs_RevolverLoanMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_RevolverLoanMember" xlink:to="tpcs_RevolverLoanMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_RevolverLoanMember_lbl" xml:lang="en-US">Represents the information pertaining to revolver loan taken under revolving credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_RevolverLoanMember_lbl" xml:lang="en-US">Revolver loan [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_RevolverLoanMember_lbl" xml:lang="en-US">Revolver loan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.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/2024/elts/srt-2024.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 [Member]</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/2024/elts/srt-2024.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 [Member]</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/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US">Subsequent event</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_lbl" xml:lang="en-US">Sale of Stock [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_lbl" xml:lang="en-US">Sale of Stock [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrivatePlacementMember" xlink:to="us-gaap_PrivatePlacementMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrivatePlacementMember_lbl" xml:lang="en-US">Private Placement [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrivatePlacementMember_lbl" xml:lang="en-US">Private placement</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:to="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_lbl" xml:lang="en-US">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.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_lbl" xml:lang="en-US">BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_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/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" xlink:label="us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" xlink:to="us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_lbl" xml:lang="en-US">Stockholders' Equity Note, Stock Split, Conversion Ratio</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_lbl" xml:lang="en-US">Reverse stock split conversion ratio</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_TotalAvailableLiquidity" xlink:label="tpcs_TotalAvailableLiquidity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_TotalAvailableLiquidity" xlink:to="tpcs_TotalAvailableLiquidity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_TotalAvailableLiquidity_lbl" xml:lang="en-US">Amount of total available liquidity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_TotalAvailableLiquidity_lbl" xml:lang="en-US">Total Available Liquidity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_TotalAvailableLiquidity_lbl" xml:lang="en-US">Total available liquidity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xml:lang="en-US">Line of Credit Facility, Remaining Borrowing Capacity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xml:lang="en-US">Unused borrowing capacity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xml:lang="en-US">Undrawn capacity under revolving loan</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts" xlink:label="tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts" xlink:to="tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts_lbl" xml:lang="en-US">Amount of proceeds that are limited in usage for the purpose of due diligence and professional costs.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts_lbl" xml:lang="en-US">Line Of Credit, Limitations In Use For Due Diligence And Professional Costs</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts_lbl" xml:lang="en-US">Revolving credit, limitations in use of proceeds</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Maximum principal amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Revolver loan, commitment amount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US">Long-term Line of Credit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US">Amount of total debt outstanding</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US">Amount of debt outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:to="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_lbl" xml:lang="en-US">Class of Warrant or Right, Number of Securities Called by Warrants or Rights</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_lbl" xml:lang="en-US">Warrants issued to purchase common stock</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_SaleOfStockAndWarrantPricePerShare" xlink:label="tpcs_SaleOfStockAndWarrantPricePerShare" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_SaleOfStockAndWarrantPricePerShare" xlink:to="tpcs_SaleOfStockAndWarrantPricePerShare_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_SaleOfStockAndWarrantPricePerShare_lbl" xml:lang="en-US">Per share amount received by subsidiary or equity investee for each share of common stock and warrant issued or sold in the stock transaction.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_SaleOfStockAndWarrantPricePerShare_lbl" xml:lang="en-US">Sale of Stock and Warrant, Price Per Share</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_SaleOfStockAndWarrantPricePerShare_lbl" xml:lang="en-US">Combined purchase price of share and warrant</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoninterestExpenseTransferAgentAndCustodianFees" xlink:label="us-gaap_NoninterestExpenseTransferAgentAndCustodianFees" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoninterestExpenseTransferAgentAndCustodianFees" xlink:to="us-gaap_NoninterestExpenseTransferAgentAndCustodianFees_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoninterestExpenseTransferAgentAndCustodianFees_lbl" xml:lang="en-US">Noninterest Expense Transfer Agent and Custodian Fees</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoninterestExpenseTransferAgentAndCustodianFees_lbl" xml:lang="en-US">Placement agent's fees</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Property, Plant and Equipment, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember_lbl" xml:lang="en-US">Selling, General and Administrative, Expenses [Member[</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember_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/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpenseAbstract" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract_lbl" xml:lang="en-US">Selling, General and Administrative Expense [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract_lbl" xml:lang="en-US">Selling, General, and Administrative</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LaborAndRelatedExpense" xlink:label="us-gaap_LaborAndRelatedExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LaborAndRelatedExpense" xlink:to="us-gaap_LaborAndRelatedExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LaborAndRelatedExpense_lbl" xml:lang="en-US">Labor and Related Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LaborAndRelatedExpense_lbl" xml:lang="en-US">Salaries and related expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfessionalFees" xlink:label="us-gaap_ProfessionalFees" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfessionalFees" xlink:to="us-gaap_ProfessionalFees_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfessionalFees_lbl" xml:lang="en-US">Professional Fees</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProfessionalFees_lbl" xml:lang="en-US">Professional fees</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherGeneralAndAdministrativeExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherGeneralAndAdministrativeExpense" xlink:to="us-gaap_OtherGeneralAndAdministrativeExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Other General and Administrative Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Other general and administrative</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination" xlink:label="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination" xlink:to="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination_lbl" xml:lang="en-US">Amount of advisory and legal fees related to acquisition termination.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination_lbl" xml:lang="en-US">Advisory and Legal Fees Related to Acquistion Termination</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination_lbl" xml:lang="en-US">Due diligence advisory and legal fees related to acquisition termination</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract_lbl" xml:lang="en-US">Employee Service Share-based Compensation, Aggregate Disclosures [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract_lbl" xml:lang="en-US">Stock Based Compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US">Allocated Share-based Compensation Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US">Stock based compensation cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US">Fair value estimated on grant date</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 Revenue [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.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="tpcs-20240331.xsd#tpcs_DefenseMember" xlink:label="tpcs_DefenseMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DefenseMember" xlink:to="tpcs_DefenseMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DefenseMember_lbl" xml:lang="en-US">Represents the information pertaining to Defense.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DefenseMember_lbl" xml:lang="en-US">Defense [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_DefenseMember_lbl" xml:lang="en-US">Defense</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_IndustrialMember" xlink:label="tpcs_IndustrialMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_IndustrialMember" xlink:to="tpcs_IndustrialMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_IndustrialMember_lbl" xml:lang="en-US">Represents the information pertaining to industrial.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_IndustrialMember_lbl" xml:lang="en-US">Industrial [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_IndustrialMember_lbl" xml:lang="en-US">Industrial</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xml:lang="en-US">Timing of Transfer of Good or Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_lbl" xml:lang="en-US">Timing of Transfer of Good or Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransferredOverTimeMember" xlink:to="us-gaap_TransferredOverTimeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransferredOverTimeMember_lbl" xml:lang="en-US">Transferred over Time [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TransferredOverTimeMember_lbl" xml:lang="en-US">Over-time</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransferredAtPointInTimeMember" xlink:to="us-gaap_TransferredAtPointInTimeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransferredAtPointInTimeMember_lbl" xml:lang="en-US">Transferred at Point in Time [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TransferredAtPointInTimeMember_lbl" xml:lang="en-US">Point-in-time</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">REVENUE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US">Revenue from Contract with Customer, Including Assessed Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US">Net Sales</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerAMember" xlink:label="tpcs_CustomerAMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_CustomerAMember" xlink:to="tpcs_CustomerAMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_CustomerAMember_lbl" xml:lang="en-US">Represents information pertaining to customer A.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_CustomerAMember_lbl" xml:lang="en-US">Customer A [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_CustomerAMember_lbl" xml:lang="en-US">Customer A</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerBMember" xlink:label="tpcs_CustomerBMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_CustomerBMember" xlink:to="tpcs_CustomerBMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_CustomerBMember_lbl" xml:lang="en-US">Represents information pertaining to customer B.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_CustomerBMember_lbl" xml:lang="en-US">Customer B [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_CustomerBMember_lbl" xml:lang="en-US">Customer B</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerCMember" xlink:label="tpcs_CustomerCMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_CustomerCMember" xlink:to="tpcs_CustomerCMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_CustomerCMember_lbl" xml:lang="en-US">Represents information pertaining to customer C.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_CustomerCMember_lbl" xml:lang="en-US">Customer C [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_CustomerCMember_lbl" xml:lang="en-US">Customer C</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerDMember" xlink:label="tpcs_CustomerDMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_CustomerDMember" xlink:to="tpcs_CustomerDMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_CustomerDMember_lbl" xml:lang="en-US">Represents information pertaining to customer D.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_CustomerDMember_lbl" xml:lang="en-US">Customer D [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_CustomerDMember_lbl" xml:lang="en-US">Customer D</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerEMember" xlink:label="tpcs_CustomerEMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_CustomerEMember" xlink:to="tpcs_CustomerEMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_CustomerEMember_lbl" xml:lang="en-US">Represents the information pertaining to customer E.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_CustomerEMember_lbl" xml:lang="en-US">Customer E [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_CustomerEMember_lbl" xml:lang="en-US">Customer E</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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/us-gaap/2024/elts/us-gaap-2024.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 Benchmark [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Sales revenue, net</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_TradeReceivablesMember" xlink:label="tpcs_TradeReceivablesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_TradeReceivablesMember" xlink:to="tpcs_TradeReceivablesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_TradeReceivablesMember_lbl" xml:lang="en-US">Trade Receivables [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_TradeReceivablesMember_lbl" xml:lang="en-US">Trade Receivables</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/terseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Concentration risk percentage</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:to="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_lbl" xml:lang="en-US">Billing Status, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesBillingStatusDomain" xlink:label="us-gaap_ReceivablesBillingStatusDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesBillingStatusDomain" xlink:to="us-gaap_ReceivablesBillingStatusDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesBillingStatusDomain_lbl" xml:lang="en-US">Receivables Billing Status [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnbilledRevenuesMember" xlink:label="us-gaap_UnbilledRevenuesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnbilledRevenuesMember" xlink:to="us-gaap_UnbilledRevenuesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnbilledRevenuesMember_lbl" xml:lang="en-US">Unbilled Revenues [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnbilledRevenuesMember_lbl" xml:lang="en-US">Unbilled</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AdjustmentsProgressPaymentsReceivableMember" xlink:label="tpcs_AdjustmentsProgressPaymentsReceivableMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_AdjustmentsProgressPaymentsReceivableMember" xlink:to="tpcs_AdjustmentsProgressPaymentsReceivableMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_AdjustmentsProgressPaymentsReceivableMember_lbl" xml:lang="en-US">Represents information pertaining to adjustments progress payments receivable.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_AdjustmentsProgressPaymentsReceivableMember_lbl" xml:lang="en-US">Adjustments Progress Payments Receivable [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_AdjustmentsProgressPaymentsReceivableMember_lbl" xml:lang="en-US">Progress Payments</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DeferredRevenueMember" xlink:label="tpcs_DeferredRevenueMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DeferredRevenueMember" xlink:to="tpcs_DeferredRevenueMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DeferredRevenueMember_lbl" xml:lang="en-US">Represents the information pertaining to deferred revenue.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DeferredRevenueMember_lbl" xml:lang="en-US">Deferred Revenue [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_DeferredRevenueMember_lbl" xml:lang="en-US">Deferred revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerDepositsMember" xlink:label="tpcs_CustomerDepositsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_CustomerDepositsMember" xlink:to="tpcs_CustomerDepositsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_CustomerDepositsMember_lbl" xml:lang="en-US">Represents the information pertaining to customer deposits.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_CustomerDepositsMember_lbl" xml:lang="en-US">Customer Deposits [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_CustomerDepositsMember_lbl" xml:lang="en-US">Customer Deposits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/us-gaap/2024/elts/us-gaap-2024.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">REVENUE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Remaining performance obligation expected timing of satisfaction period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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, Amount</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">Remaining performance obligation amount</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50" xlink:label="tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50" xlink:to="tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50_lbl" xml:lang="en-US">Amount of transaction price allocated to performance obligation that has not completed 50% of obligations.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50_lbl" xml:lang="en-US">Revenue Remaining Performance Obligation Completed Less Than 50</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50_lbl" xml:lang="en-US">Revenue remaining performance obligation completed less than 50%</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Revenue, remaining performance obligation, percentage</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/verboseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US">Revenue recognized by contract liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Components of the provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Current:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">State</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Current Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Total Current</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xml:lang="en-US">Deferred Federal, State and Local, Tax Expense (Benefit) [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xml:lang="en-US">Deferred:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Federal</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">State</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">U.S. statutory income tax</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/verboseLabel" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State income tax, net of federal benefit</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity" xlink:label="tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity" xlink:to="tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity_lbl" xml:lang="en-US">Represent of Nondeductible items related to dissolved foreign entity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity_lbl" xml:lang="en-US">Nondeductible items related to dissolved foreign entity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity_lbl" xml:lang="en-US">Nondeductible items related to business combination and dissolved foreign entity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate_lbl" xml:lang="en-US">Change in state NOLs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Change in valuation allowance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_lbl" xml:lang="en-US">Stock-based compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:to="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_lbl" xml:lang="en-US">Other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Effective tax rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xml:lang="en-US">Components of Deferred Tax Assets and Liabilities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xml:lang="en-US">Components of deferred income tax assets and liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xml:lang="en-US">Deferred Tax Assets, Net [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xml:lang="en-US">Deferred tax assets:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US">Net operating loss carryforward</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Employee Compensation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl" xml:lang="en-US">Compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" xml:lang="en-US">Stock based compensation awards</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DeferredTaxAssetsOperatingLeases" xlink:label="tpcs_DeferredTaxAssetsOperatingLeases" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DeferredTaxAssetsOperatingLeases" xlink:to="tpcs_DeferredTaxAssetsOperatingLeases_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DeferredTaxAssetsOperatingLeases_lbl" xml:lang="en-US">Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from operating leases.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DeferredTaxAssetsOperatingLeases_lbl" xml:lang="en-US">Deferred Tax Assets, Operating Leases</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_DeferredTaxAssetsOperatingLeases_lbl" xml:lang="en-US">Operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_lbl" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Other</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_lbl" xml:lang="en-US">Other items not currently deductible</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US">Deferred Tax Assets, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US">Total deferred tax assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Valuation allowance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Valuation allowance on deferred tax assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Net deferred tax assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xml:lang="en-US">Deferred Tax Liabilities, Net [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xml:lang="en-US">Deferred tax liabilities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US">Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:label="us-gaap_DeferredTaxLiabilitiesLeasingArrangements" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:to="us-gaap_DeferredTaxLiabilitiesLeasingArrangements_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesLeasingArrangements_lbl" xml:lang="en-US">Deferred Tax Liabilities, Leasing Arrangements</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesLeasingArrangements_lbl" xml:lang="en-US">Operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DeferredTaxLiabilitiesContractAccountingMethods" xlink:label="tpcs_DeferredTaxLiabilitiesContractAccountingMethods" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DeferredTaxLiabilitiesContractAccountingMethods" xlink:to="tpcs_DeferredTaxLiabilitiesContractAccountingMethods_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DeferredTaxLiabilitiesContractAccountingMethods_lbl" xml:lang="en-US">Represents Deferred Tax Liabilities Contract Accounting Methods.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DeferredTaxLiabilitiesContractAccountingMethods_lbl" xml:lang="en-US">Deferred Tax Liabilities Contract Accounting Methods</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="tpcs_DeferredTaxLiabilitiesContractAccountingMethods_lbl" xml:lang="en-US">Contract accounting methods</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Deferred Tax Liabilities, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Total deferred tax liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US">Deferred Tax Assets, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US">Deferred taxes, net</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OperatingLossAndTaxCreditCarryforwardsTable" xlink:label="tpcs_OperatingLossAndTaxCreditCarryforwardsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsTable" xlink:to="tpcs_OperatingLossAndTaxCreditCarryforwardsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_OperatingLossAndTaxCreditCarryforwardsTable_lbl" xml:lang="en-US">Schedule reflecting information pertaining to tax authority, amounts, and expiration dates, of net operating loss carryforwards and of tax credit carryforwards available to reduce future taxable income.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_OperatingLossAndTaxCreditCarryforwardsTable_lbl" xml:lang="en-US">Operating Loss and Tax Credit Carryforwards [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US">U.S. operations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US">Federal</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxPeriodAxis_lbl" xml:lang="en-US">Tax Period [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_TaxPeriodDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxPeriodDomain_lbl" xml:lang="en-US">Tax Period [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_TaxYearsPriorToTwoThousandTwentyOneMember" xlink:label="tpcs_TaxYearsPriorToTwoThousandTwentyOneMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_TaxYearsPriorToTwoThousandTwentyOneMember" xlink:to="tpcs_TaxYearsPriorToTwoThousandTwentyOneMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_TaxYearsPriorToTwoThousandTwentyOneMember_lbl" xml:lang="en-US">Represents tax years prior to two thousand twenty one member.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_TaxYearsPriorToTwoThousandTwentyOneMember_lbl" xml:lang="en-US">Tax Years Prior To Two Thousand Twenty One (Member)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_TaxYearsPriorToTwoThousandTwentyOneMember_lbl" xml:lang="en-US">Tax Years Prior to 2021</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems" xlink:label="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems" xlink:to="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems_lbl" xml:lang="en-US">Operating Loss and Tax Credit Carryforwards [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems_lbl" xml:lang="en-US">Carryforwards of net operating losses and tax credits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US">Operating Loss Carryforwards</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US">Net operating losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Income tax rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ScheduleOfStockByClassTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfStockByClassTable_lbl" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WarrantMember" xlink:label="us-gaap_WarrantMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantMember" xlink:to="us-gaap_WarrantMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WarrantMember_lbl" xml:lang="en-US">Warrant [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ClassOfStockLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xml:lang="en-US">Class of Stock [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xml:lang="en-US">EARNINGS PER SHARE (EPS)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xml:lang="en-US">Earnings Per Share, Basic [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xml:lang="en-US">Basic EPS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="us-gaap_EarningsPerShareDilutedAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDilutedAbstract" xlink:to="us-gaap_EarningsPerShareDilutedAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDilutedAbstract_lbl" xml:lang="en-US">Earnings Per Share, Diluted [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDilutedAbstract_lbl" xml:lang="en-US">Diluted EPS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_lbl" xml:lang="en-US">Net Income (Loss) Available to Common Stockholders, Diluted</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_lbl" xml:lang="en-US">Net loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Antidilutive securities excluded from computation of earnings per share amount (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_NumberOfSeriesOfPreferredStockShares" xlink:label="tpcs_NumberOfSeriesOfPreferredStockShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_NumberOfSeriesOfPreferredStockShares" xlink:to="tpcs_NumberOfSeriesOfPreferredStockShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_NumberOfSeriesOfPreferredStockShares_lbl" xml:lang="en-US">Represents the number of series of preferred stock, shares of which can be issued by the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_NumberOfSeriesOfPreferredStockShares_lbl" xml:lang="en-US">Number of Series of Preferred Stock Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_NumberOfSeriesOfPreferredStockShares_lbl" xml:lang="en-US">Number of series of preferred stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Shares of preferred stock outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xml:lang="en-US">Number Of Options</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Outstanding at the end of the period (in shares)</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">Outstanding at the beginning of the period (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Exercised (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xml:lang="en-US">Vested or expected to vest at the end of the period (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Exercisable and vested at the end of the period (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xml:lang="en-US">Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Outstanding at the end of the period (in dollars per share)</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">Outstanding at the beginning of the period (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Exercised (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Vested or expected to vest at the end of the period (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Exercisable and vested at the end of the period (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract_lbl" xml:lang="en-US">Share Based Compensation Arrangement by Share Based Payment Award Options Intrinsic Value [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract_lbl" xml:lang="en-US">Aggregate Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Outstanding value at the end of the period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Outstanding value at the beginning of the period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Exercised</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xml:lang="en-US">Vested or expected to vest at the end of the period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Exercisable and vested at the end of the period</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract_lbl" xml:lang="en-US">Share Based Compensation Arrangement by Share Based Payment Award Options Weighted Average Remaining Contractual Term [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Life (in years)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Outstanding at the end of the period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Maximum contractual term (in years)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Vested or expected to vest at the end of the period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Exercisable and vested at the end of the period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_lbl" xml:lang="en-US">Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_lbl" xml:lang="en-US">Exercise Price Range [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_lbl" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RangeOneMember" xlink:label="tpcs_RangeOneMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_RangeOneMember" xlink:to="tpcs_RangeOneMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_RangeOneMember_lbl" xml:lang="en-US">Range One</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_RangeOneMember_lbl" xml:lang="en-US">Range One [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_RangeOneMember_lbl" xml:lang="en-US">Range One</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RangeTwoMember" xlink:label="tpcs_RangeTwoMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_RangeTwoMember" xlink:to="tpcs_RangeTwoMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_RangeTwoMember_lbl" xml:lang="en-US">Range Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_RangeTwoMember_lbl" xml:lang="en-US">Range Two [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_RangeTwoMember_lbl" xml:lang="en-US">Range Two</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_lbl" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_lbl" xml:lang="en-US">STOCK-BASED COMPENSATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_lbl" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Lower Range Limit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_lbl" xml:lang="en-US">Exercise Price, Lower Range</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_lbl" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Upper Range Limit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_lbl" xml:lang="en-US">Exercise Price, Upper Range</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_lbl" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Number of Outstanding Options</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_lbl" xml:lang="en-US">Options Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Outstanding Options, 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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Options Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_lbl" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Outstanding Options, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_lbl" xml:lang="en-US">Options Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_lbl" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Number of Exercisable Options</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_lbl" xml:lang="en-US">Options Exercisable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_lbl" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Exercisable Options, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_lbl" xml:lang="en-US">Options Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_FormerChiefFinancialOfficerMember" xlink:label="tpcs_FormerChiefFinancialOfficerMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_FormerChiefFinancialOfficerMember" xlink:to="tpcs_FormerChiefFinancialOfficerMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_FormerChiefFinancialOfficerMember_lbl" xml:lang="en-US">Represents information pertaining to former chief financial officer.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_FormerChiefFinancialOfficerMember_lbl" xml:lang="en-US">Former Chief Financial Officer [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_FormerChiefFinancialOfficerMember_lbl" xml:lang="en-US">Former chief financial officer</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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="tpcs-20240331.xsd#tpcs_EquityIncentivePlan2016Member" xlink:label="tpcs_EquityIncentivePlan2016Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_EquityIncentivePlan2016Member" xlink:to="tpcs_EquityIncentivePlan2016Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_EquityIncentivePlan2016Member_lbl" xml:lang="en-US">This member stands for Equity Incentive Plan 2016.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_EquityIncentivePlan2016Member_lbl" xml:lang="en-US">Equity Incentive Plan 2016 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_EquityIncentivePlan2016Member_lbl" xml:lang="en-US">2016 Plan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockMember" xlink:to="us-gaap_RestrictedStockMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockMember_lbl" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockMember_lbl" xml:lang="en-US">Restricted Shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">STOCK-BASED COMPENSATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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, Capital Shares Reserved for Future 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">Shares reserved</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US">Number of shares of common stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Shares available for grant</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Granted a total of shares of restricted stock</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary_lbl" xml:lang="en-US">The number of shares to be vested on each anniversary.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, To Be Vested On Each Anniversary</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary_lbl" xml:lang="en-US">Number of shares will vest on each of the first, second, and third anniversaries</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xml:lang="en-US">Stock Issued During Period, Shares, Issued for Services</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xml:lang="en-US">Restricted stock award (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedForFinderFee" xlink:label="tpcs_StockIssuedForFinderFee" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StockIssuedForFinderFee" xlink:to="tpcs_StockIssuedForFinderFee_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StockIssuedForFinderFee_lbl" xml:lang="en-US">The amount of stock issued for finder's fee.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StockIssuedForFinderFee_lbl" xml:lang="en-US">Stock Issued For Finder Fee</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl" xml:lang="en-US">Fair value of shares expected to vest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeBenefitsAndShareBasedCompensation" xlink:label="us-gaap_EmployeeBenefitsAndShareBasedCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeBenefitsAndShareBasedCompensation" xlink:to="us-gaap_EmployeeBenefitsAndShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeBenefitsAndShareBasedCompensation_lbl" xml:lang="en-US">Employee Benefits and Share-Based Compensation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeBenefitsAndShareBasedCompensation_lbl" xml:lang="en-US">Compensation cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US">Unrecognized compensation cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GranteeStatusAxis" xlink:to="us-gaap_GranteeStatusAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GranteeStatusAxis_lbl" xml:lang="en-US">Grantee Status [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GranteeStatusDomain" xlink:to="us-gaap_GranteeStatusDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GranteeStatusDomain_lbl" xml:lang="en-US">Grantee Status [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedPaymentArrangementNonemployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementNonemployeeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedPaymentArrangementNonemployeeMember" xlink:to="us-gaap_ShareBasedPaymentArrangementNonemployeeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedPaymentArrangementNonemployeeMember_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Nonemployee</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedPaymentArrangementNonemployeeMember_lbl" xml:lang="en-US">Non-employee director</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ServiceBasedRestrictedStockOneMember" xlink:label="tpcs_ServiceBasedRestrictedStockOneMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ServiceBasedRestrictedStockOneMember" xlink:to="tpcs_ServiceBasedRestrictedStockOneMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ServiceBasedRestrictedStockOneMember_lbl" xml:lang="en-US">Represents the information pertaining to service-based restricted stock one.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ServiceBasedRestrictedStockOneMember_lbl" xml:lang="en-US">Service Based Restricted Stock One [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_ServiceBasedRestrictedStockOneMember_lbl" xml:lang="en-US">Service-based restricted stock one</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ServiceBasedRestrictedStockTwoMember" xlink:label="tpcs_ServiceBasedRestrictedStockTwoMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ServiceBasedRestrictedStockTwoMember" xlink:to="tpcs_ServiceBasedRestrictedStockTwoMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ServiceBasedRestrictedStockTwoMember_lbl" xml:lang="en-US">Represents the information pertaining to service-based restricted stock two.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ServiceBasedRestrictedStockTwoMember_lbl" xml:lang="en-US">Service Based Restricted Stock Two [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_ServiceBasedRestrictedStockTwoMember_lbl" xml:lang="en-US">Service-based restricted stock two</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual_lbl" xml:lang="en-US">Number of shares issued to each individual under share-based payment arrangement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period To Each Individual</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual_lbl" xml:lang="en-US">Common stock shares granted to each non-employee director (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue_lbl" xml:lang="en-US">Represents the amount reflects the fair value of the award granted.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue_lbl" xml:lang="en-US">Fair value of the award</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_Customers.Member" xlink:label="tpcs_Customers.Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_Customers.Member" xlink:to="tpcs_Customers.Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_Customers.Member_lbl" xml:lang="en-US">Represents information pertaining to all customers.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_Customers.Member_lbl" xml:lang="en-US">Customers [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_Customers.Member_lbl" xml:lang="en-US">Customers</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerCDMember" xlink:label="tpcs_CustomerCDMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_CustomerCDMember" xlink:to="tpcs_CustomerCDMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_CustomerCDMember_lbl" xml:lang="en-US">Represents information pertaining to Customer A C D.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_CustomerCDMember_lbl" xml:lang="en-US">Customer A C D [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_CustomerCDMember_lbl" xml:lang="en-US">Customers ACD</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OneSupplierMember" xlink:label="tpcs_OneSupplierMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_OneSupplierMember" xlink:to="tpcs_OneSupplierMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_OneSupplierMember_lbl" xml:lang="en-US">Represents information pertaining to one supplier.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_OneSupplierMember_lbl" xml:lang="en-US">One Supplier [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_OneSupplierMember_lbl" xml:lang="en-US">One supplier</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_NumberOfSignificantCustomers" xlink:label="tpcs_NumberOfSignificantCustomers" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_NumberOfSignificantCustomers" xlink:to="tpcs_NumberOfSignificantCustomers_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_NumberOfSignificantCustomers_lbl" xml:lang="en-US">Represents the number of significant customers on whom the entity relies, giving rise to concentration of risk.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_NumberOfSignificantCustomers_lbl" xml:lang="en-US">Number of Significant Customers</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_NumberOfSignificantCustomers_lbl" xml:lang="en-US">Number of significant customers</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidInsurance" xlink:to="us-gaap_PrepaidInsurance_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidInsurance_lbl" xml:lang="en-US">Prepaid Insurance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidInsurance_lbl" xml:lang="en-US">Prepaid insurance</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PrepaidSubscriptions" xlink:label="tpcs_PrepaidSubscriptions" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_PrepaidSubscriptions" xlink:to="tpcs_PrepaidSubscriptions_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_PrepaidSubscriptions_lbl" xml:lang="en-US">Amount of asset related to subscriptions paid in advance that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_PrepaidSubscriptions_lbl" xml:lang="en-US">Prepaid Subscriptions</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_PrepaidSubscriptions_lbl" xml:lang="en-US">Prepaid subscriptions</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidTaxes" xlink:to="us-gaap_PrepaidTaxes_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidTaxes_lbl" xml:lang="en-US">Prepaid Taxes</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PrepaidTaxes_lbl" xml:lang="en-US">Prepaid taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Supplies" xlink:label="us-gaap_Supplies" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Supplies" xlink:to="us-gaap_Supplies_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Supplies_lbl" xml:lang="en-US">Prepaid Supplies</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Supplies_lbl" xml:lang="en-US">Supplier advances</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DepositsCurrent" xlink:label="tpcs_DepositsCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DepositsCurrent" xlink:to="tpcs_DepositsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DepositsCurrent_lbl" xml:lang="en-US">Amount of current asset related to deposits.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DepositsCurrent_lbl" xml:lang="en-US">Deposits Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_DepositsCurrent_lbl" xml:lang="en-US">Deposits</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AdvancesToEmployee" xlink:label="tpcs_AdvancesToEmployee" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_AdvancesToEmployee" xlink:to="tpcs_AdvancesToEmployee_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_AdvancesToEmployee_lbl" xml:lang="en-US">Amount of advances paid to employees.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_AdvancesToEmployee_lbl" xml:lang="en-US">Advances To Employee</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_AdvancesToEmployee_lbl" xml:lang="en-US">Employee advances</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PrepaidAdvisoryFeesOther" xlink:label="tpcs_PrepaidAdvisoryFeesOther" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_PrepaidAdvisoryFeesOther" xlink:to="tpcs_PrepaidAdvisoryFeesOther_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_PrepaidAdvisoryFeesOther_lbl" xml:lang="en-US">Amount of current asset related to other advisory fees paid in advance.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_PrepaidAdvisoryFeesOther_lbl" xml:lang="en-US">Prepaid Advisory Fees, Other</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_PrepaidAdvisoryFeesOther_lbl" xml:lang="en-US">Prepaid advisory fees, other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US">Land [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US">Land</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xml:lang="en-US">Building and Building Improvements [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xml:lang="en-US">Building and improvements</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_MachineryEquipmentFurnitureAndFixturesMember" xlink:label="tpcs_MachineryEquipmentFurnitureAndFixturesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_MachineryEquipmentFurnitureAndFixturesMember" xlink:to="tpcs_MachineryEquipmentFurnitureAndFixturesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_MachineryEquipmentFurnitureAndFixturesMember_lbl" xml:lang="en-US">Represents machinery equipment, furniture and fixtures, which are a part of property, plant and equipment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_MachineryEquipmentFurnitureAndFixturesMember_lbl" xml:lang="en-US">Machinery Equipment Furniture And Fixtures [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_MachineryEquipmentFurnitureAndFixturesMember_lbl" xml:lang="en-US">Machinery equipment, furniture, and fixtures</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressMember" xlink:to="us-gaap_ConstructionInProgressMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConstructionInProgressMember_lbl" xml:lang="en-US">Construction in Progress [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConstructionInProgressMember_lbl" xml:lang="en-US">Construction-in-progress</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Property, Plant and Equipment, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Property, plant and equipment, Gross</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Total property, plant, and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Less: accumulated depreciation and amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Total property, plant and equipment, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:label="us-gaap_CostOfGoodsAndServicesSoldDepreciation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:to="us-gaap_CostOfGoodsAndServicesSoldDepreciation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSoldDepreciation_lbl" xml:lang="en-US">Cost, Depreciation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSoldDepreciation_lbl" xml:lang="en-US">Depreciation expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisposals" xlink:label="us-gaap_PropertyPlantAndEquipmentDisposals" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisposals" xlink:to="us-gaap_PropertyPlantAndEquipmentDisposals_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisposals_lbl" xml:lang="en-US">Property, Plant and Equipment, Disposals</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentDisposals_lbl" xml:lang="en-US">Book value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestCostsCapitalized" xlink:label="us-gaap_InterestCostsCapitalized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestCostsCapitalized" xlink:to="us-gaap_InterestCostsCapitalized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestCostsCapitalized_lbl" xml:lang="en-US">Interest Costs Capitalized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestCostsCapitalized_lbl" xml:lang="en-US">Capitalized interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US">Employee-related Liabilities, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyAccrualAtCarryingValue" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xml:lang="en-US">Loss Contingency Accrual</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xml:lang="en-US">Provision for claims</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForLossOnContracts" xlink:label="us-gaap_ProvisionForLossOnContracts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForLossOnContracts" xlink:to="us-gaap_ProvisionForLossOnContracts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForLossOnContracts_lbl" xml:lang="en-US">Provision for Loss on Contracts</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProvisionForLossOnContracts_lbl" xml:lang="en-US">Provision for contract losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedProfessionalFeesCurrent" xlink:to="us-gaap_AccruedProfessionalFeesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedProfessionalFeesCurrent_lbl" xml:lang="en-US">Accrued Professional Fees, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccruedProfessionalFeesCurrent_lbl" xml:lang="en-US">Accrued professional fees</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AccruedProjectCosts" xlink:label="tpcs_AccruedProjectCosts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_AccruedProjectCosts" xlink:to="tpcs_AccruedProjectCosts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_AccruedProjectCosts_lbl" xml:lang="en-US">Carrying value as of the balance sheet date of obligations incurred through project cost.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_AccruedProjectCosts_lbl" xml:lang="en-US">Accrued Project Costs</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_AccruedProjectCosts_lbl" xml:lang="en-US">Accrued project costs</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" xlink:label="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" xlink:to="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent_lbl" xml:lang="en-US">Amount of accrued breakup fee in connection with termination of acquisition event.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent_lbl" xml:lang="en-US">Accrued Breakup Fee Related to Terminated Acquisition Event</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent_lbl" xml:lang="en-US">Accrued breakup fee</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodSharesStockTerminationFee" xlink:label="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee" xlink:to="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee_lbl" xml:lang="en-US">Number of shares of stock issued during the period pursuant to stock termination fee.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee_lbl" xml:lang="en-US">Stock Issued During Period Shares Stock Termination Fee</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee_lbl" xml:lang="en-US">Termination fee</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee_lbl" xml:lang="en-US">Stock termination fee - number of shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTable_lbl" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" xlink:label="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" xlink:to="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_lbl" xml:lang="en-US">Represents information pertaining to Stadco Term Note at 4.71% interest, due August 2028.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_lbl" xml:lang="en-US">Stadco Term Loan at 3.79% Interest, Due August 2028 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_lbl" xml:lang="en-US">Stadco Term Loan, at 3.79% interest, due August 2028</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member" xlink:label="tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member" xlink:to="tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_lbl" xml:lang="en-US">Represents information pertaining to Ranor Term Loan at 6.05% interest, due December 2027.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_lbl" xml:lang="en-US">Ranor Term Loan at 6.05% Interest, Due December 2027 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_lbl" xml:lang="en-US">Ranor Term Loan, at 6.05% interest, due December 2027</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member" xlink:label="tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member" xlink:to="tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_lbl" xml:lang="en-US">This member stands for ranor revolver loan, at 6.93% interest, due August 2024.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_lbl" xml:lang="en-US">Ranor Revolver Loan, at 7.69% interest, due August 2024 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_lbl" xml:lang="en-US">Ranor Revolver Loan, at 7.69% interest, due August 2024</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US">DEBT</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_DebtInstrumentCarryingAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xml:lang="en-US">Long-term Debt, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xml:lang="en-US">Total debt</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsNet" xlink:to="us-gaap_DeferredFinanceCostsNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFinanceCostsNet_lbl" xml:lang="en-US">Debt Issuance Costs, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredFinanceCostsNet_lbl" xml:lang="en-US">Less: debt issue costs unamortized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities_lbl" xml:lang="en-US">Long-Term Debt and Lease Obligation, Including Current Maturities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities_lbl" xml:lang="en-US">Total debt, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations_lbl" xml:lang="en-US">Long-Term Debt and Lease Obligation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations_lbl" xml:lang="en-US">Total long-term debt, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US">Interest rate (as a percent)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="us-gaap_DebtWeightedAverageInterestRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtWeightedAverageInterestRate" xlink:to="us-gaap_DebtWeightedAverageInterestRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtWeightedAverageInterestRate_lbl" xml:lang="en-US">Debt, Weighted Average Interest Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtWeightedAverageInterestRate_lbl" xml:lang="en-US">Weighted average interest rate (as a percent)</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member" xlink:label="tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member" xlink:to="tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_lbl" xml:lang="en-US">Represents information pertaining to Stadco Term Note at 3.79% interest, due August 2028.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_lbl" xml:lang="en-US">Stadco Term Loan at 3.79 Interest, Due August 2028 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_lbl" xml:lang="en-US">Stadco Term Loan at 3.79% interest, due August 2028.</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member" xlink:label="tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member" xlink:to="tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_lbl" xml:lang="en-US">Represents information pertaining to Stadco Term Note at 2.25% interest, due August 2028.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_lbl" xml:lang="en-US">Stadco Term Loan at 2.25% interest, due August 2028 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_lbl" xml:lang="en-US">Stadco Term Loan at 2.25% interest, due August 2028</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RanorTermLoanMember" xlink:label="tpcs_RanorTermLoanMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_RanorTermLoanMember" xlink:to="tpcs_RanorTermLoanMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_RanorTermLoanMember_lbl" xml:lang="en-US">Represents information pertaining to Ranor term loan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_RanorTermLoanMember_lbl" xml:lang="en-US">Ranor Term Loan [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_RanorTermLoanMember_lbl" xml:lang="en-US">Ranor term loan</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanMember" xlink:label="tpcs_StadcoTermLoanMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StadcoTermLoanMember" xlink:to="tpcs_StadcoTermLoanMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StadcoTermLoanMember_lbl" xml:lang="en-US">Represent information pertaining to Stadco term loan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StadcoTermLoanMember_lbl" xml:lang="en-US">Stadco Term Loan [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_StadcoTermLoanMember_lbl" xml:lang="en-US">Stadco Term Loan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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/2024/dei-2024.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="tpcs-20240331.xsd#tpcs_RanorIncMember" xlink:label="tpcs_RanorIncMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_RanorIncMember" xlink:to="tpcs_RanorIncMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_RanorIncMember_lbl" xml:lang="en-US">Represents information pertaining to Ranor Inc., a wholly owned subsidiary of the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_RanorIncMember_lbl" xml:lang="en-US">Ranor Inc [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_RanorIncMember_lbl" xml:lang="en-US">Ranor</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="tpcs_RanorIncMember_lbl" xml:lang="en-US">Ranor, Inc.</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SecuredDebtMember" xlink:label="us-gaap_SecuredDebtMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredDebtMember" xlink:to="us-gaap_SecuredDebtMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuredDebtMember_lbl" xml:lang="en-US">Secured Debt [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SecuredDebtMember_lbl" xml:lang="en-US">Secured Term Loan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NotesPayableOtherPayablesMember" xlink:label="us-gaap_NotesPayableOtherPayablesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesPayableOtherPayablesMember" xlink:to="us-gaap_NotesPayableOtherPayablesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NotesPayableOtherPayablesMember_lbl" xml:lang="en-US">Notes Payable, Other Payables [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NotesPayableOtherPayablesMember_lbl" xml:lang="en-US">Notes payables</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US">Debt Instrument, Face Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US">Principal amount of debt</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTerm" xlink:to="us-gaap_DebtInstrumentTerm_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTerm_lbl" xml:lang="en-US">Debt Instrument, Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentTerm_lbl" xml:lang="en-US">Maturity term</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentPeriodicPayment" xlink:label="us-gaap_DebtInstrumentPeriodicPayment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentPeriodicPayment" xlink:to="us-gaap_DebtInstrumentPeriodicPayment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentPeriodicPayment_lbl" xml:lang="en-US">Debt Instrument, Periodic Payment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentPeriodicPayment_lbl" xml:lang="en-US">Monthly payments of principal and interest amount</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RequiredMinimumDebtServiceCoverageRatio" xlink:label="tpcs_RequiredMinimumDebtServiceCoverageRatio" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_RequiredMinimumDebtServiceCoverageRatio" xlink:to="tpcs_RequiredMinimumDebtServiceCoverageRatio_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_RequiredMinimumDebtServiceCoverageRatio_lbl" xml:lang="en-US">Minimum debt service coverage ratio as required under the debt arrangement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_RequiredMinimumDebtServiceCoverageRatio_lbl" xml:lang="en-US">Required Minimum Debt Service Coverage Ratio</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_RequiredMinimumDebtServiceCoverageRatio_lbl" xml:lang="en-US">Required minimum debt service coverage ratio, solely with respect to the fiscal quarter ending December 31, 2022</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LateChargeFeePercentage" xlink:label="tpcs_LateChargeFeePercentage" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_LateChargeFeePercentage" xlink:to="tpcs_LateChargeFeePercentage_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_LateChargeFeePercentage_lbl" xml:lang="en-US">The percentage of late fee charged.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_LateChargeFeePercentage_lbl" xml:lang="en-US">Late Charge Fee Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_LateChargeFeePercentage_lbl" xml:lang="en-US">Late fee (in percent)</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DefaultInterestRate" xlink:label="tpcs_DefaultInterestRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DefaultInterestRate" xlink:to="tpcs_DefaultInterestRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DefaultInterestRate_lbl" xml:lang="en-US">The percentage of  default interest rate.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DefaultInterestRate_lbl" xml:lang="en-US">Default Interest Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_DefaultInterestRate_lbl" xml:lang="en-US">Default interest rate</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance" xlink:label="tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance" xlink:to="tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance_lbl" xml:lang="en-US">Maximum amount of borrowing base required to grant loan advance.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance_lbl" xml:lang="en-US">Maximum Amount Of Borrowing Base Required To Grant Loan Advance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance_lbl" xml:lang="en-US">Maximum amount of borrowing base required to grant loan advance</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances" xlink:label="tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances" xlink:to="tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances_lbl" xml:lang="en-US">Represents the percentage of accounts receivable used for determination of the aggregate amount of advances under the revolver loan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances_lbl" xml:lang="en-US">Debt Instrument Percentage Of Accounts Receivable Used For Determination Of Aggregate Amount Of Advances</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances_lbl" xml:lang="en-US">Debt instrument percentage of accounts receivable used for determination of aggregate amount of advances</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances" xlink:label="tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances" xlink:to="tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances_lbl" xml:lang="en-US">Represents the percentage of eligible raw material inventory used for determination of the aggregate amount of advances under the revolver loan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances_lbl" xml:lang="en-US">Debt Instrument Percentage Of Eligible Raw Material Used For Determination Of Aggregate Amount Of Advances</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances_lbl" xml:lang="en-US">Debt instrument percentage of eligible raw material used for determination of aggregate amount of advances</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase" xlink:label="tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase" xlink:to="tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase_lbl" xml:lang="en-US">Amount included in sum total to calculate borrowing base for advancing loans.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase_lbl" xml:lang="en-US">Amount Included In Sum To Calculate Maximum Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase_lbl" xml:lang="en-US">Amount included in sum to calculate maximum borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances" xlink:label="tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances" xlink:to="tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances_lbl" xml:lang="en-US">Represents the percentage of Appraised value of equipment for determination of the aggregate amount of advances under the revolver loan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances_lbl" xml:lang="en-US">Debt Instrument Percentage Of Appraised Value Of Equipment For Determination Of Aggregate Amount Of Advances</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances_lbl" xml:lang="en-US">Debt Instrument percentage of appraised value Of equipment for determination of aggregate amount of advances</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseDebt" xlink:to="us-gaap_InterestExpenseDebt_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpenseDebt_lbl" xml:lang="en-US">Interest Expense, Debt</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestExpenseDebt_lbl" xml:lang="en-US">Interest payments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsGross" xlink:to="us-gaap_DeferredFinanceCostsGross_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl" xml:lang="en-US">Debt Issuance Costs, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl" xml:lang="en-US">Unamortized closing costs</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CashFlowRatioOfDebtService" xlink:label="tpcs_CashFlowRatioOfDebtService" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_CashFlowRatioOfDebtService" xlink:to="tpcs_CashFlowRatioOfDebtService_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_CashFlowRatioOfDebtService_lbl" xml:lang="en-US">Cash flow ratio of debt service.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_CashFlowRatioOfDebtService_lbl" xml:lang="en-US">Cash Flow Ratio Of Debt Service</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_CashFlowRatioOfDebtService_lbl" xml:lang="en-US">Cash flow ratio of debt service</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CashFlowToTotalDebtService" xlink:label="tpcs_CashFlowToTotalDebtService" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_CashFlowToTotalDebtService" xlink:to="tpcs_CashFlowToTotalDebtService_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_CashFlowToTotalDebtService_lbl" xml:lang="en-US">Percentage of cash flow to total debt service.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_CashFlowToTotalDebtService_lbl" xml:lang="en-US">Cash Flow To Total Debt Service</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_CashFlowToTotalDebtService_lbl" xml:lang="en-US">Cash flow to total debt service</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentCovenantLeverageRatioYearOne" xlink:label="tpcs_DebtInstrumentCovenantLeverageRatioYearOne" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DebtInstrumentCovenantLeverageRatioYearOne" xlink:to="tpcs_DebtInstrumentCovenantLeverageRatioYearOne_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DebtInstrumentCovenantLeverageRatioYearOne_lbl" xml:lang="en-US">Represents the leverage ratio under the financial covenant in year one.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DebtInstrumentCovenantLeverageRatioYearOne_lbl" xml:lang="en-US">Debt Instrument Covenant Leverage Ratio Year One</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_DebtInstrumentCovenantLeverageRatioYearOne_lbl" xml:lang="en-US">Debt instrument covenant leverage ratio year one</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xml:lang="en-US">Capital Expenditures Incurred but Not yet Paid</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xml:lang="en-US">Annual capital expenditure</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CapitalExpendituresFromPurchaseOfFixedAssets" xlink:label="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets" xlink:to="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets_lbl" xml:lang="en-US">Amount of capital expenditures from purchase of fixed assets.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets_lbl" xml:lang="en-US">Capital Expenditures From Purchase Of Fixed Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets_lbl" xml:lang="en-US">Capital expenditures</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentCovenantLoanToValueRatio" xlink:label="tpcs_DebtInstrumentCovenantLoanToValueRatio" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DebtInstrumentCovenantLoanToValueRatio" xlink:to="tpcs_DebtInstrumentCovenantLoanToValueRatio_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DebtInstrumentCovenantLoanToValueRatio_lbl" xml:lang="en-US">Represents the loan to value ratio under the financial covenant.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DebtInstrumentCovenantLoanToValueRatio_lbl" xml:lang="en-US">Debt Instrument Covenant Loan To Value Ratio</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_DebtInstrumentCovenantLoanToValueRatio_lbl" xml:lang="en-US">Loan-to-Value Ratio</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio" xlink:label="tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio" xlink:to="tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio_lbl" xml:lang="en-US">Represents the trailing period used for determination of loan to value ratio under the terms of the loan covenants.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio_lbl" xml:lang="en-US">Debt Instrument Covenant Trailing Period For Measurement Of Loan To Value Ratio</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio_lbl" xml:lang="en-US">Debt instrument covenant trailing period for measurement of loan to value ratio</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_NonrefundableCommitmentFeePercentages" xlink:label="tpcs_NonrefundableCommitmentFeePercentages" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_NonrefundableCommitmentFeePercentages" xlink:to="tpcs_NonrefundableCommitmentFeePercentages_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_NonrefundableCommitmentFeePercentages_lbl" xml:lang="en-US">It represents the percentages rate of  nonrefundable commitment fee.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_NonrefundableCommitmentFeePercentages_lbl" xml:lang="en-US">Nonrefundable Commitment Fee percentages</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_NonrefundableCommitmentFeePercentages_lbl" xml:lang="en-US">Nonrefundable commitment fee percentages</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnamortizedDebtIssuanceExpense" xlink:to="us-gaap_UnamortizedDebtIssuanceExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense_lbl" xml:lang="en-US">Unamortized Debt Issuance Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense_lbl" xml:lang="en-US">Unamortized debt issuance expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Basis spread on variable rate (as a percent)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:to="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration_lbl" xml:lang="en-US">Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_lbl" xml:lang="en-US">OTHER NONCURRENT LIABILITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xml:lang="en-US">Contract with Customer, Liability, Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xml:lang="en-US">Customer payments received recorded as noncurrent liability</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable" xlink:label="tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable" xlink:to="tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable_lbl" xml:lang="en-US">Amount of monthly installment payable under payment arrangement agreement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable_lbl" xml:lang="en-US">Payment Arrangement Agreement, Monthly Instalments Payable</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable_lbl" xml:lang="en-US">Monthly installment payments to be made</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage" xlink:label="tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage" xlink:to="tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage_lbl" xml:lang="en-US">Percentage of annual late payment charge under payment arrangement agreement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage_lbl" xml:lang="en-US">Payment Arrangement Agreement, Annual Late Payment Charge, Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage_lbl" xml:lang="en-US">Late payment charge, annual rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionTable_lbl" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentMember" xlink:label="us-gaap_PropertyPlantAndEquipmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentMember" xlink:to="us-gaap_PropertyPlantAndEquipmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentMember_lbl" xml:lang="en-US">Building and Property Lease [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentMember_lbl" xml:lang="en-US">Building and property lease</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xml:lang="en-US">LEASES</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OtherLeaseAssetsAndLeaseLiabilities" xlink:label="tpcs_OtherLeaseAssetsAndLeaseLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_OtherLeaseAssetsAndLeaseLiabilities" xlink:to="tpcs_OtherLeaseAssetsAndLeaseLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_OtherLeaseAssetsAndLeaseLiabilities_lbl" xml:lang="en-US">Amount of other lease assets and lease liabilities during the period.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_OtherLeaseAssetsAndLeaseLiabilities_lbl" xml:lang="en-US">Other Lease Assets and Lease Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_OtherLeaseAssetsAndLeaseLiabilities_lbl" xml:lang="en-US">Other lease assets and liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LesseeFinanceLeaseMonthlyPayments" xlink:label="tpcs_LesseeFinanceLeaseMonthlyPayments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_LesseeFinanceLeaseMonthlyPayments" xlink:to="tpcs_LesseeFinanceLeaseMonthlyPayments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_LesseeFinanceLeaseMonthlyPayments_lbl" xml:lang="en-US">Represents the monthly payments on finance lease.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_LesseeFinanceLeaseMonthlyPayments_lbl" xml:lang="en-US">Lessee, Finance Lease, Monthly Payments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_LesseeFinanceLeaseMonthlyPayments_lbl" xml:lang="en-US">Monthly payments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 Asset</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Right of use asset - operating lease</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_lbl" xml:lang="en-US">Finance Lease, Right-of-Use Asset, Accumulated Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_lbl" xml:lang="en-US">Amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RightOfUseAsset" xlink:label="tpcs_RightOfUseAsset" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_RightOfUseAsset" xlink:to="tpcs_RightOfUseAsset_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_RightOfUseAsset_lbl" xml:lang="en-US">Amount of lessee's right to use underlying asset under operating lease.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_RightOfUseAsset_lbl" xml:lang="en-US">Right-of-Use Asset</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="tpcs_RightOfUseAsset_lbl" xml:lang="en-US">Right of use asset, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/terseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Lease liability - operating lease</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiability_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xml:lang="en-US">Finance Lease, Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xml:lang="en-US">Lease liability - finance leases</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LeaseLiability" xlink:label="tpcs_LeaseLiability" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_LeaseLiability" xlink:to="tpcs_LeaseLiability_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_LeaseLiability_lbl" xml:lang="en-US">Amount of lease liabilities during the period.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_LeaseLiability_lbl" xml:lang="en-US">Lease Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="tpcs_LeaseLiability_lbl" xml:lang="en-US">Total lease liability</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xml:lang="en-US">Operating Lease Right Of Use Asset Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xml:lang="en-US">Operating lease amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xml:lang="en-US">Finance Lease, Right-of-Use Asset, Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xml:lang="en-US">Finance lease amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestExpense" xlink:to="us-gaap_FinanceLeaseInterestExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseInterestExpense_lbl" xml:lang="en-US">Finance Lease, Interest Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseInterestExpense_lbl" xml:lang="en-US">Finance lease interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Lease term (years) - operating lease</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Finance 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_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Lease term (years) - finance lease</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Lease rate - operating lease</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Finance 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_FinanceLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Lease rate - finance lease</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Cash used in operating activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US">Finance Lease, Liability, Payment, Due [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US">Maturities of lease liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">Finance Lease, Liability, to be Paid, Year One</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2025</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">Finance Lease, Liability, to be Paid, Year Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2026</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">Finance Lease, Liability, to be Paid, Year Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">2027</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">Finance Lease, Liability, to be Paid, Year Four</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">2028</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US">Finance Lease, Liability, to be Paid, Year Five</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US">2029</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US">Finance Lease, Liability, to be Paid, after Year Five</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US">Thereafter</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Finance Lease, Liability, Payment, Due</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total lease payments</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_FinanceLeaseLiabilityImputedInterest" xlink:label="tpcs_FinanceLeaseLiabilityImputedInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_FinanceLeaseLiabilityImputedInterest" xlink:to="tpcs_FinanceLeaseLiabilityImputedInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_FinanceLeaseLiabilityImputedInterest_lbl" xml:lang="en-US">Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid as imputed interest following current fiscal year.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_FinanceLeaseLiabilityImputedInterest_lbl" xml:lang="en-US">Finance Lease Liability Imputed Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="tpcs_FinanceLeaseLiabilityImputedInterest_lbl" xml:lang="en-US">Less: imputed interest</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_FinanceLeaseLiabilities" xlink:label="tpcs_FinanceLeaseLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_FinanceLeaseLiabilities" xlink:to="tpcs_FinanceLeaseLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_FinanceLeaseLiabilities_lbl" xml:lang="en-US">Present value of lessee's discounted obligation for lease payments from finance lease.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_FinanceLeaseLiabilities_lbl" xml:lang="en-US">Finance Lease Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_FinanceLeaseLiabilities_lbl" xml:lang="en-US">Total</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear" xlink:label="tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear" xlink:to="tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear_lbl" xml:lang="en-US">Employee Agreement Annual Commitment For Future Salaries During Next Fiscal Year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear_lbl" xml:lang="en-US">Aggregate commitment for future executive salaries and bonus</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday" xlink:label="tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday" xlink:to="tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday_lbl" xml:lang="en-US">Employee Agreement Annual Commitment For Vacation And Holiday</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday_lbl" xml:lang="en-US">Aggregate commitment for accrued payroll, vacation and holiday</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligation" xlink:to="us-gaap_PurchaseObligation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligation_lbl" xml:lang="en-US">Purchase Obligation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanCostRecognized" xlink:to="us-gaap_DefinedContributionPlanCostRecognized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_lbl" xml:lang="en-US">Defined Contribution Plan, Cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_lbl" xml:lang="en-US">Retirement Benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.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="tpcs-20240331.xsd#tpcs_StadcoAcquisitionLlcMember" xlink:label="tpcs_StadcoAcquisitionLlcMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StadcoAcquisitionLlcMember" xlink:to="tpcs_StadcoAcquisitionLlcMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StadcoAcquisitionLlcMember_lbl" xml:lang="en-US">This member stands for Stadco Acquisition, LLC.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StadcoAcquisitionLlcMember_lbl" xml:lang="en-US">Stadco Acquisition Llc [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_StadcoAcquisitionLlcMember_lbl" xml:lang="en-US">Stadco</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.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/2024/elts/srt-2024.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/2024/elts/us-gaap-2024.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/2024/elts/us-gaap-2024.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntersegmentEliminationMember" xlink:to="us-gaap_IntersegmentEliminationMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntersegmentEliminationMember_lbl" xml:lang="en-US">Intersegment Eliminations [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntersegmentEliminationMember_lbl" xml:lang="en-US">Eliminate intersegment revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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">Corporate and unallocated [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CorporateNonSegmentMember_lbl" xml:lang="en-US">Corporate and unallocated</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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 INFORMATION</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US">SEGMENT INFORMATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US">Number of reportable segment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Net sales from external customers</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US">Depreciation, Depletion and Amortization, Nonproduction</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTable_lbl" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US">SUBSEQUENT EVENTS</link:label>
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee" xlink:label="tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee" xlink:to="tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee_lbl" xml:lang="en-US">Number of additional shares of stock issued during the period pursuant to stock termination fee.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee_lbl" xml:lang="en-US">Stock Issued During Period, Additional Shares, Stock Termination Fee</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee_lbl" xml:lang="en-US">Stock termination fee - number of additional shares</link:label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>16
<FILENAME>tpcs-20240331_pre.xml
<DESCRIPTION>EX-101.PRE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.7.0.1 -->
<!--Based on XBRL 2.1-->
<!--Created on: 9/13/2024 8:59:54 PM-->
<!--Modified on: 9/13/2024 8:59:54 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="tpcs-20240331.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#StatementConsolidatedBalanceSheetsParenthetical" roleURI="http://www.tech.pre.com/role/StatementConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#StatementConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#StatementConsolidatedStatementsOfCashFlowsParenthetical" roleURI="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureDescriptionOfBusiness" roleURI="http://www.tech.pre.com/role/DisclosureDescriptionOfBusiness" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureBasisOfPresentationAndSignificantAccountingPolicies" roleURI="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPolicies" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureAccountingStandardsUpdate" roleURI="http://www.tech.pre.com/role/DisclosureAccountingStandardsUpdate" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureRevenue" roleURI="http://www.tech.pre.com/role/DisclosureRevenue" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureIncomeTaxes" roleURI="http://www.tech.pre.com/role/DisclosureIncomeTaxes" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureCapitalStockAndEarningsPerShare" roleURI="http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShare" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureStockBasedCompensation" roleURI="http://www.tech.pre.com/role/DisclosureStockBasedCompensation" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureConcentrationOfRisk" roleURI="http://www.tech.pre.com/role/DisclosureConcentrationOfRisk" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureOtherCurrentAssets" roleURI="http://www.tech.pre.com/role/DisclosureOtherCurrentAssets" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosurePropertyPlantAndEquipmentNet" roleURI="http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNet" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureAccruedExpenses" roleURI="http://www.tech.pre.com/role/DisclosureAccruedExpenses" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureDebt" roleURI="http://www.tech.pre.com/role/DisclosureDebt" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureOtherNoncurrentLiability" roleURI="http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiability" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureLeases" roleURI="http://www.tech.pre.com/role/DisclosureLeases" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureCommitmentsAndContingencies" roleURI="http://www.tech.pre.com/role/DisclosureCommitmentsAndContingencies" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureSegmentInformation" roleURI="http://www.tech.pre.com/role/DisclosureSegmentInformation" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureSubsequentEvents" roleURI="http://www.tech.pre.com/role/DisclosureSubsequentEvents" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies" roleURI="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureBasisOfPresentationAndSignificantAccountingPoliciesTables" roleURI="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureRevenueTables" roleURI="http://www.tech.pre.com/role/DisclosureRevenueTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureIncomeTaxesTables" roleURI="http://www.tech.pre.com/role/DisclosureIncomeTaxesTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureCapitalStockAndEarningsPerShareTables" roleURI="http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureStockBasedCompensationTables" roleURI="http://www.tech.pre.com/role/DisclosureStockBasedCompensationTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureConcentrationOfRiskTables" roleURI="http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureOtherCurrentAssetsTables" roleURI="http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosurePropertyPlantAndEquipmentNetTables" roleURI="http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureAccruedExpensesTables" roleURI="http://www.tech.pre.com/role/DisclosureAccruedExpensesTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureDebtTables" roleURI="http://www.tech.pre.com/role/DisclosureDebtTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureLeasesTables" roleURI="http://www.tech.pre.com/role/DisclosureLeasesTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureSegmentInformationTables" roleURI="http://www.tech.pre.com/role/DisclosureSegmentInformationTables" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails" roleURI="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails" roleURI="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureRevenueDisaggregatedBasisDetails" roleURI="http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureRevenueNetSalesFromCustomersDetails" roleURI="http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureRevenueContractAssetsAndContractLiabilitiesDetails" roleURI="http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureRevenueAdditionalInformationDetails" roleURI="http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureIncomeTaxesIncomeTaxProvisionDetails" roleURI="http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails" roleURI="http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureIncomeTaxesDeferredTaxesDetails" roleURI="http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails" roleURI="http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureCapitalStockAndEarningsPerShareEpsDetails" roleURI="http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails" roleURI="http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureStockBasedCompensationStockOptionActivityDetails" roleURI="http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" roleURI="http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureStockBasedCompensationAdditionalInformationDetails" roleURI="http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails" roleURI="http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureConcentrationOfRiskDetails" roleURI="http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureOtherCurrentAssetsDetails" roleURI="http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureAccruedExpensesDetails" roleURI="http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureDebtLongTermDebtDetails" roleURI="http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureDebtAdditionalInformationDetails" roleURI="http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureOtherNoncurrentLiabilityDetails" roleURI="http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureLeasesDetails" roleURI="http://www.tech.pre.com/role/DisclosureLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureLeasesOtherSupplementalInformationOfLeasesDetails" roleURI="http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureLeasesSupplementalCashFlowInformationDetails" roleURI="http://www.tech.pre.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" roleURI="http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureCommitmentsAndContingenciesDetails" roleURI="http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureSegmentInformationFinancialInformationForSegmentsDetails" roleURI="http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="tpcs-20240331.xsd#DisclosureSubsequentEventsDetails" roleURI="http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangements" roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" />
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="995200090 - Document - Document and Entity Information">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType_638618579909132107" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType_638618579909132107" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport_638618579909132107" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentAnnualReport_638618579909132107" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_638618579909132107" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentTransitionReport_638618579909132107" order="3" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_638618579909132107" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentPeriodEndDate_638618579909132107" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_638618579909132107" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityRegistrantName_638618579909132107" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_638618579909132107" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFileNumber_638618579909132107" order="6" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode_638618579909132107" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityIncorporationStateCountryCode_638618579909132107" order="7" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber_638618579909142109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityTaxIdentificationNumber_638618579909142109" order="8" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_638618579909142109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine1_638618579909142109" order="9" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_638618579909142109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressCityOrTown_638618579909142109" order="10" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince_638618579909142109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressStateOrProvince_638618579909142109" order="11" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_638618579909142109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressPostalZipCode_638618579909142109" order="12" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_638618579909142109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CityAreaCode_638618579909142109" order="13" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_638618579909142109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_LocalPhoneNumber_638618579909142109" order="14" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_638618579909142109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_Security12bTitle_638618579909142109" order="15" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol_638618579909142109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_TradingSymbol_638618579909142109" order="16" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_638618579909142109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SecurityExchangeName_638618579909142109" order="17" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_638618579909152110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCurrentReportingStatus_638618579909152110" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_638618579909152110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityInteractiveDataCurrent_638618579909152110" order="19" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_638618579909152110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFilerCategory_638618579909152110" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness_638618579909152110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntitySmallBusiness_638618579909152110" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_638618579909152110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityEmergingGrowthCompany_638618579909152110" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_638618579909152110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityShellCompany_638618579909152110" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_638618579909152110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCommonStockSharesOutstanding_638618579909152110" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_638618579909152110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCentralIndexKey_638618579909152110" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_638618579909152110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CurrentFiscalYearEndDate_638618579909152110" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_638618579909162110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalYearFocus_638618579909162110" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_638618579909162110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalPeriodFocus_638618579909162110" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_638618579909162110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentFlag_638618579909162110" order="29" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer_638618579909162110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityWellKnownSeasonedIssuer_638618579909162110" order="30" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers_638618579909162110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityVoluntaryFilers_638618579909162110" order="31" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat_638618579909162110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityPublicFloat_638618579909162110" order="32" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag_638618579909162110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_IcfrAuditorAttestationFlag_638618579909162110" order="33" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_638618579909172111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_638618579909172111" order="34" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName" xlink:label="dei_AuditorName_638618579909172111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorName_638618579909172111" order="35" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId_638618579909172111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorFirmId_638618579909172111" order="36" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation_638618579909172111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorLocation_638618579909172111" order="37" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="995200100 - Statement - CONSOLIDATED BALANCE SHEETS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638618579909182113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_32" xlink:to="us-gaap_AssetsAbstract_638618579909182113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638618579909182113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638618579909182113" xlink:to="us-gaap_AssetsCurrentAbstract_638618579909182113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638618579909182113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638618579909182113" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638618579909182113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638618579909182113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638618579909182113" xlink:to="us-gaap_AccountsReceivableNetCurrent_638618579909182113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_638618579909182113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638618579909182113" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_638618579909182113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies_638618579909182113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638618579909182113" xlink:to="us-gaap_InventoryRawMaterialsAndSupplies_638618579909182113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_638618579909182113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638618579909182113" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_638618579909182113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent_638618579909182113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638618579909182113" xlink:to="us-gaap_OtherAssetsCurrent_638618579909182113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638618579909182113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638618579909182113" xlink:to="us-gaap_AssetsCurrent_638618579909182113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638618579909182113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638618579909182113" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638618579909182113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_638618579909182113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638618579909182113" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset_638618579909182113" order="3" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638618579909182113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638618579909182113" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638618579909182113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638618579909192109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638618579909182113" xlink:to="us-gaap_OtherAssetsNoncurrent_638618579909192109" 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/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638618579909192109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638618579909182113" xlink:to="us-gaap_Assets_638618579909192109" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638618579909192109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_32" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638618579909192109" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638618579909192109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638618579909192109" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638618579909192109" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_638618579909192109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638618579909192109" xlink:to="us-gaap_AccountsPayableCurrent_638618579909192109" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_638618579909192109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638618579909192109" xlink:to="us-gaap_AccruedLiabilitiesCurrent_638618579909192109" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638618579909192109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638618579909192109" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638618579909192109" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LeaseLiabilityCurrent" xlink:label="tpcs_LeaseLiabilityCurrent_638618579909192109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638618579909192109" xlink:to="tpcs_LeaseLiabilityCurrent_638618579909192109" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_638618579909192109" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638618579909192109" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_638618579909192109" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638618579909202112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638618579909192109" xlink:to="us-gaap_LiabilitiesCurrent_638618579909202112" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_638618579909202112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638618579909192109" xlink:to="us-gaap_LongTermDebtNoncurrent_638618579909202112" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_638618579909202112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638618579909192109" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_638618579909202112" order="3" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_638618579909202112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638618579909192109" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_638618579909202112" order="4" 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/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638618579909202112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638618579909192109" xlink:to="us-gaap_Liabilities_638618579909202112" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_638618579909202112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638618579909192109" xlink:to="us-gaap_CommitmentsAndContingencies_638618579909202112" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract_638618579909202112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638618579909192109" xlink:to="us-gaap_StockholdersEquityAbstract_638618579909202112" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638618579909202112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638618579909202112" xlink:to="us-gaap_CommonStockValue_638618579909202112" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital_638618579909212111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638618579909202112" xlink:to="us-gaap_AdditionalPaidInCapital_638618579909212111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638618579909212111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638618579909202112" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638618579909212111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638618579909212111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638618579909202112" xlink:to="us-gaap_StockholdersEquity_638618579909212111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_638618579909212111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638618579909192109" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638618579909212111" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/StatementConsolidatedBalanceSheetsParenthetical" xlink:type="extended" xlink:title="995200105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_116" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638618579909212111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_116" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638618579909212111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized_638618579909212111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_116" xlink:to="us-gaap_CommonStockSharesAuthorized_638618579909212111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638618579909222111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_116" xlink:to="us-gaap_CommonStockSharesIssued_638618579909222111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638618579909222111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_116" xlink:to="us-gaap_CommonStockSharesOutstanding_638618579909222111" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="995200200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract_167" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638618579909222111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_Revenues_638618579909222111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638618579909222111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638618579909222111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638618579909222111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_GrossProfit_638618579909222111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638618579909222111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638618579909222111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638618579909222111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_OperatingIncomeLoss_638618579909222111" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OtherIncomeAndExpense" xlink:label="tpcs_OtherIncomeAndExpense_638618579909222111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="tpcs_OtherIncomeAndExpense_638618579909222111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating" xlink:label="us-gaap_InterestExpenseNonoperating_638618579909222111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_InterestExpenseNonoperating_638618579909222111" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_EmployeeRetentionCreditRefund" xlink:label="tpcs_EmployeeRetentionCreditRefund_638618579909222111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="tpcs_EmployeeRetentionCreditRefund_638618579909222111" order="8" 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/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638618579909232112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_NonoperatingIncomeExpense_638618579909232112" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638618579909232112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638618579909232112" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638618579909232112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638618579909232112" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638618579909232112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638618579909232112" 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/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638618579909232112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_EarningsPerShareBasic_638618579909232112" 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/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638618579909232112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_EarningsPerShareDiluted_638618579909232112" 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/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638618579909232112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638618579909232112" order="15" 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/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638618579909232112" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_167" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638618579909232112" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="995200300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_337" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638618579909242111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_337" xlink:to="us-gaap_StatementTable_638618579909242111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638618579909242111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638618579909242111" xlink:to="us-gaap_StatementEquityComponentsAxis_638618579909242111" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638618579909242111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638618579909242111" xlink:to="us-gaap_CommonStockMember_638618579909242111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638618579909242111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638618579909242111" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638618579909242111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_638618579909242111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638618579909242111" xlink:to="us-gaap_RetainedEarningsMember_638618579909242111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638618579909242111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638618579909242111" xlink:to="us-gaap_EquityComponentDomain_638618579909242111" order="4" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638618579909242111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638618579909242111" xlink:to="us-gaap_StatementLineItems_638618579909242111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638618579909242111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="us-gaap_StockholdersEquity_638618579909242111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SharesIssued" xlink:label="us-gaap_SharesIssued_638618579909242111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="us-gaap_SharesIssued_638618579909242111" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638618579909242111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638618579909242111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638618579909242111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638618579909242111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638618579909242111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638618579909242111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_638618579909252111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_638618579909252111" order="6" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638618579909252111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638618579909252111" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_638618579909252111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_638618579909252111" order="8" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_638618579909252111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_638618579909252111" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodValueContingentConsideration" xlink:label="tpcs_StockIssuedDuringPeriodValueContingentConsideration_638618579909252111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="tpcs_StockIssuedDuringPeriodValueContingentConsideration_638618579909252111" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:label="tpcs_StockIssuedDuringPeriodSharesContingentConsideration_638618579909252111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="tpcs_StockIssuedDuringPeriodSharesContingentConsideration_638618579909252111" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan" xlink:label="tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan_638618579909252111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan_638618579909252111" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan" xlink:label="tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan_638618579909252111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan_638618579909252111" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockSplitFractionalShareRoundUpInShares" xlink:label="tpcs_StockSplitFractionalShareRoundUpInShares_638618579909252111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="tpcs_StockSplitFractionalShareRoundUpInShares_638618579909252111" order="14" 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/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638618579909262113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="us-gaap_NetIncomeLoss_638618579909262113" order="15" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638618579909262113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="us-gaap_StockholdersEquity_638618579909262113" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesIssued" xlink:label="us-gaap_SharesIssued_638618579909262113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638618579909242111" xlink:to="us-gaap_SharesIssued_638618579909262113" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="995200400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_723" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_723" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638618579909262113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="us-gaap_ProfitLoss_638618579909262113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638618579909262113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638618579909262113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts_638618579909272117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="us-gaap_AmortizationOfFinancingCosts_638618579909272117" 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/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638618579909272117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638618579909272117" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638618579909272117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="us-gaap_ShareBasedCompensation_638618579909272117" 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/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnContractTermination" xlink:label="us-gaap_GainLossOnContractTermination_638618579909272117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="us-gaap_GainLossOnContractTermination_638618579909272117" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638618579909272117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638618579909272117" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockBasedAcquisitionTerminationFeesAmount" xlink:label="tpcs_StockBasedAcquisitionTerminationFeesAmount_638618579909272117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="tpcs_StockBasedAcquisitionTerminationFeesAmount_638618579909272117" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockBasedExpenseForContingentConsideration" xlink:label="tpcs_StockBasedExpenseForContingentConsideration_638618579909272117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="tpcs_StockBasedExpenseForContingentConsideration_638618579909272117" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_GainLossFromContingentConsideration" xlink:label="tpcs_GainLossFromContingentConsideration_638618579909272117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="tpcs_GainLossFromContingentConsideration_638618579909272117" order="9" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638618579909272117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638618579909272117" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638618579909272117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638618579909272117" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638618579909272117" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638618579909272117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638618579909272117" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638618579909272117" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_638618579909282113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638618579909272117" xlink:to="us-gaap_IncreaseDecreaseInInventories_638618579909282113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_638618579909282113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638618579909272117" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets_638618579909282113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_638618579909282113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638618579909272117" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_638618579909282113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_638618579909282113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638618579909272117" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_638618579909282113" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_IncreaseDecreaseInContractLiabilities" xlink:label="tpcs_IncreaseDecreaseInContractLiabilities_638618579909282113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638618579909272117" xlink:to="tpcs_IncreaseDecreaseInContractLiabilities_638618579909282113" order="7" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638618579909282113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638618579909272117" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638618579909282113" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579909282113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638618579909262113" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638618579909282113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638618579909282113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_723" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638618579909282113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638618579909282113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638618579909282113" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638618579909282113" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ProceedsFromFixedAssetsInsuranceSettlement" xlink:label="tpcs_ProceedsFromFixedAssetsInsuranceSettlement_638618579909292113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638618579909282113" xlink:to="tpcs_ProceedsFromFixedAssetsInsuranceSettlement_638618579909292113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638618579909292113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638618579909282113" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638618579909292113" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638618579909292113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638618579909282113" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638618579909292113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638618579909292113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_723" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638618579909292113" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ProceedsFromTermLoan" xlink:label="tpcs_ProceedsFromTermLoan_638618579909292113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638618579909292113" xlink:to="tpcs_ProceedsFromTermLoan_638618579909292113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_638618579909292113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638618579909292113" xlink:to="us-gaap_RepaymentsOfLinesOfCredit_638618579909292113" order="2" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfLoanCosts" xlink:label="us-gaap_PaymentsOfLoanCosts_638618579909292113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638618579909292113" xlink:to="us-gaap_PaymentsOfLoanCosts_638618579909292113" order="3" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments_638618579909302115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638618579909292113" xlink:to="us-gaap_FinanceLeasePrincipalPayments_638618579909302115" 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/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_638618579909302115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638618579909292113" xlink:to="us-gaap_RepaymentsOfLongTermDebt_638618579909302115" order="5" 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/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638618579909302115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638618579909292113" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638618579909302115" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638618579909302115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638618579909292113" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638618579909302115" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638618579909302115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_723" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638618579909302115" order="4" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638618579909302115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_723" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638618579909302115" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6386185799093021151" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_723" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6386185799093021151" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_638618579909312115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_723" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_638618579909312115" order="7" 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/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_638618579909312115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638618579909312115" xlink:to="us-gaap_InterestPaidNet_638618579909312115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xlink:type="extended" xlink:title="995200405 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_638618579909312115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_1" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_638618579909312115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_638618579909312115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_638618579909312115" xlink:to="srt_TitleOfIndividualAxis_638618579909312115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_638618579909312115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis_638618579909312115" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_638618579909312115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ChiefFinancialOfficerMember" xlink:label="srt_ChiefFinancialOfficerMember_638618579909312115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain_638618579909312115" xlink:to="srt_ChiefFinancialOfficerMember_638618579909312115" 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/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis_638618579909312115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_638618579909312115" xlink:to="us-gaap_TypeOfArrangementAxis_638618579909312115" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_638618579909322113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis_638618579909312115" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_638618579909322113" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" xlink:label="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_638618579909322113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember_638618579909322113" xlink:to="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_638618579909322113" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_638618579909322113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_638618579909312115" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_638618579909322113" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CommonStockPursuantToOptionAwards" xlink:label="tpcs_CommonStockPursuantToOptionAwards_638618579909322113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_638618579909322113" xlink:to="tpcs_CommonStockPursuantToOptionAwards_638618579909322113" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OptionsExercisedAsCashlessNetSettlementTransaction" xlink:label="tpcs_OptionsExercisedAsCashlessNetSettlementTransaction_638618579909322113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_638618579909322113" xlink:to="tpcs_OptionsExercisedAsCashlessNetSettlementTransaction_638618579909322113" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService_638618579909322113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_638618579909322113" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService_638618579909322113" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent_638618579909322113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_638618579909322113" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent_638618579909322113" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent_638618579909322113" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_638618579909322113" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent_638618579909322113" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureDescriptionOfBusiness" xlink:type="extended" xlink:title="995210101 - Disclosure - DESCRIPTION OF BUSINESS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_839" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations_638618579909332116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_839" xlink:to="us-gaap_NatureOfOperations_638618579909332116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPolicies" xlink:type="extended" xlink:title="995210201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_842" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_638618579909332116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_842" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_638618579909332116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureAccountingStandardsUpdate" xlink:type="extended" xlink:title="995210301 - Disclosure - ACCOUNTING STANDARDS UPDATE">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_224056" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_638618579909332116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_224056" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_638618579909332116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureRevenue" xlink:type="extended" xlink:title="995210401 - Disclosure - REVENUE">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_224178" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_638618579909332116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_224178" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_638618579909332116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureIncomeTaxes" xlink:type="extended" xlink:title="995210501 - Disclosure - INCOME TAXES">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_638618579909342116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_20" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_638618579909342116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShare" xlink:type="extended" xlink:title="995210601 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_79" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock_638618579909342116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_79" xlink:to="us-gaap_EarningsPerShareTextBlock_638618579909342116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureStockBasedCompensation" xlink:type="extended" xlink:title="995210701 - Disclosure - STOCK-BASED COMPENSATION">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_29" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638618579909342116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_29" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638618579909342116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureConcentrationOfRisk" xlink:type="extended" xlink:title="995210801 - Disclosure - CONCENTRATION OF RISK">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract_67" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock_638618579909342116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract_67" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock_638618579909342116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureOtherCurrentAssets" xlink:type="extended" xlink:title="995210901 - Disclosure - OTHER CURRENT ASSETS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherCurrentAssetsTextBlock" xlink:label="us-gaap_OtherCurrentAssetsTextBlock_638618579909352115" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_8" xlink:to="us-gaap_OtherCurrentAssetsTextBlock_638618579909352115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNet" xlink:type="extended" xlink:title="995211001 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638618579909402127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_2" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638618579909402127" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureAccruedExpenses" xlink:type="extended" xlink:title="995211101 - Disclosure - ACCRUED EXPENSES">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_14" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_638618579909402127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_14" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_638618579909402127" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureDebt" xlink:type="extended" xlink:title="995211201 - Disclosure - DEBT">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaap_DebtDisclosureAbstract_17" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock_638618579909402127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_17" xlink:to="us-gaap_DebtDisclosureTextBlock_638618579909402127" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiability" xlink:type="extended" xlink:title="995211301 - Disclosure - OTHER NONCURRENT LIABILITY">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesDisclosureAbstract" xlink:label="us-gaap_OtherLiabilitiesDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_OtherLiabilitiesDisclosureTextBlock_638618579909412117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherLiabilitiesDisclosureAbstract" xlink:to="us-gaap_OtherLiabilitiesDisclosureTextBlock_638618579909412117" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureLeases" xlink:type="extended" xlink:title="995211401 - Disclosure - LEASES">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LeaseOfLesseeDisclosureTextBlock" xlink:label="tpcs_LeaseOfLesseeDisclosureTextBlock_638618579909412117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="tpcs_LeaseOfLesseeDisclosureTextBlock_638618579909412117" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureCommitmentsAndContingencies" xlink:type="extended" xlink:title="995211501 - Disclosure - COMMITMENTS AND CONTINGENCIES">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_73" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638618579909412117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_73" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638618579909412117" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureSegmentInformation" xlink:type="extended" xlink:title="995211601 - Disclosure - SEGMENT INFORMATION">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_638618579909422118" />
    <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_638618579909422118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureSubsequentEvents" xlink:type="extended" xlink:title="995211701 - Disclosure - SUBSEQUENT EVENTS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock_638618579909422118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock_638618579909422118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies" xlink:type="extended" xlink:title="99920202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_88" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638618579909422118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638618579909422118" 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/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates_638618579909422118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_UseOfEstimates_638618579909422118" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock" xlink:label="tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock_638618579909422118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock_638618579909422118" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_638618579909422118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_638618579909422118" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesPolicyTextBlock" xlink:label="us-gaap_ReceivablesPolicyTextBlock_638618579909432117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_ReceivablesPolicyTextBlock_638618579909432117" 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/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock_638618579909432117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_InventoryPolicyTextBlock_638618579909432117" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ContractAssetsPolicyTextBlock" xlink:label="tpcs_ContractAssetsPolicyTextBlock_638618579909432117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="tpcs_ContractAssetsPolicyTextBlock_638618579909432117" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638618579909432117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638618579909432117" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_638618579909432117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_638618579909432117" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtIssuanceCostsPolicyPolicyTextBlock" xlink:label="tpcs_DebtIssuanceCostsPolicyPolicyTextBlock_638618579909432117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="tpcs_DebtIssuanceCostsPolicyPolicyTextBlock_638618579909432117" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ContractLiabilitiesPolicyTextBlock" xlink:label="tpcs_ContractLiabilitiesPolicyTextBlock_638618579909432117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="tpcs_ContractLiabilitiesPolicyTextBlock_638618579909432117" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_638618579909432117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_638618579909432117" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_638618579909432117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_638618579909432117" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ContractEstimatesPolicyTextBlock" xlink:label="tpcs_ContractEstimatesPolicyTextBlock_638618579909432117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="tpcs_ContractEstimatesPolicyTextBlock_638618579909432117" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_638618579909432117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_638618579909432117" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_638618579909442116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_638618579909442116" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_638618579909442116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_638618579909442116" order="17" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_638618579909442116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_88" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_638618579909442116" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesTables" xlink:type="extended" xlink:title="99930203 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_110" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock" xlink:label="tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock_638618579909442116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_110" xlink:to="tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock_638618579909442116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureRevenueTables" xlink:type="extended" xlink:title="99930403 - Disclosure - REVENUE (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_224182" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable_638618579909442116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_224182" xlink:to="us-gaap_ConcentrationRiskTable_638618579909442116" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_638618579909442116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638618579909442116" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_638618579909442116" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909452116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_638618579909442116" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909452116" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesMember" xlink:label="us-gaap_SalesMember_638618579909452116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909452116" xlink:to="us-gaap_SalesMember_638618579909452116" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems_638618579909452116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638618579909442116" xlink:to="us-gaap_ConcentrationRiskLineItems_638618579909452116" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_638618579909452116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_638618579909452116" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_638618579909452116" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_638618579909452116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_638618579909452116" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_638618579909452116" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_638618579909452116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_638618579909452116" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_638618579909452116" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureIncomeTaxesTables" xlink:type="extended" xlink:title="99930503 - Disclosure - INCOME TAXES (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_141" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_638618579909452116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_141" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_638618579909452116" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638618579909452116" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_141" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638618579909452116" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638618579909462117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_141" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638618579909462117" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638618579909462117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_141" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638618579909462117" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareTables" xlink:type="extended" xlink:title="99930603 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_164" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638618579909462117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_164" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638618579909462117" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureStockBasedCompensationTables" xlink:type="extended" xlink:title="99930703 - Disclosure - STOCK-BASED COMPENSATION (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_148" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_638618579909462117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_148" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_638618579909462117" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock_638618579909462117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_148" xlink:to="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock_638618579909462117" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables" xlink:type="extended" xlink:title="99930803 - Disclosure - CONCENTRATION OF RISK (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract_153" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable_638618579909472119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract_153" xlink:to="us-gaap_ConcentrationRiskTable_638618579909472119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_638618579909472119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638618579909472119" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_638618579909472119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909472119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_638618579909472119" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909472119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember_638618579909472119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909472119" xlink:to="us-gaap_AccountsReceivableMember_638618579909472119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems_638618579909472119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638618579909472119" xlink:to="us-gaap_ConcentrationRiskLineItems_638618579909472119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_638618579909472119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_638618579909472119" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_638618579909472119" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsTables" xlink:type="extended" xlink:title="99930903 - Disclosure - OTHER CURRENT ASSETS (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_129" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock_638618579909472119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_129" xlink:to="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock_638618579909472119" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetTables" xlink:type="extended" xlink:title="99931003 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_113" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_638618579909482120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_113" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_638618579909482120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureAccruedExpensesTables" xlink:type="extended" xlink:title="99931103 - Disclosure - ACCRUED EXPENSES (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_135" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_638618579909482120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_135" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_638618579909482120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureDebtTables" xlink:type="extended" xlink:title="99931203 - Disclosure - DEBT (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaap_DebtDisclosureAbstract_138" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_638618579909482120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_138" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_638618579909482120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureLeasesTables" xlink:type="extended" xlink:title="99931403 - Disclosure - LEASES (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock" xlink:label="tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock_638618579909492119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock_638618579909492119" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock" xlink:label="tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock_638618579909492119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock_638618579909492119" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock" xlink:label="tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock_638618579909492119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock_638618579909492119" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_638618579909492119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_638618579909492119" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureSegmentInformationTables" xlink:type="extended" xlink:title="99931603 - Disclosure - SEGMENT INFORMATION (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638618579909492119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract_1" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638618579909492119" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails" xlink:type="extended" xlink:title="99940201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_3" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909492119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_3" xlink:to="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909492119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638618579909492119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909492119" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638618579909492119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909502119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638618579909492119" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909502119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember_638618579909502119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909502119" xlink:to="us-gaap_MachineryAndEquipmentMember_638618579909502119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember_638618579909502119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909502119" xlink:to="us-gaap_BuildingMember_638618579909502119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember_638618579909502119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909502119" xlink:to="us-gaap_LeaseholdImprovementsMember_638618579909502119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_638618579909502119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909492119" xlink:to="us-gaap_DebtInstrumentAxis_638618579909502119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_638618579909502119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis_638618579909502119" xlink:to="us-gaap_DebtInstrumentNameDomain_638618579909502119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BerkshireLoanMember" xlink:label="tpcs_BerkshireLoanMember_638618579909502119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638618579909502119" xlink:to="tpcs_BerkshireLoanMember_638618579909502119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_638618579909502119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909492119" xlink:to="us-gaap_CreditFacilityAxis_638618579909502119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638618579909502119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_638618579909502119" xlink:to="us-gaap_CreditFacilityDomain_638618579909502119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RevolverLoanMember" xlink:label="tpcs_RevolverLoanMember_638618579909502119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638618579909502119" xlink:to="tpcs_RevolverLoanMember_638618579909502119" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638618579909502119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909492119" xlink:to="srt_RangeAxis_638618579909502119" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638618579909502119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638618579909502119" xlink:to="srt_RangeMember_638618579909502119" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638618579909512117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638618579909502119" xlink:to="srt_MinimumMember_638618579909512117" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638618579909512117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638618579909502119" xlink:to="srt_MaximumMember_638618579909512117" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_638618579909512117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909492119" xlink:to="us-gaap_SubsequentEventTypeAxis_638618579909512117" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_638618579909512117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis_638618579909512117" xlink:to="us-gaap_SubsequentEventTypeDomain_638618579909512117" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember_638618579909512117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeDomain_638618579909512117" xlink:to="us-gaap_SubsequentEventMember_638618579909512117" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_638618579909512117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909492119" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_638618579909512117" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_638618579909512117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis_638618579909512117" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_638618579909512117" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember_638618579909512117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain_638618579909512117" xlink:to="us-gaap_PrivatePlacementMember_638618579909512117" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909492119" xlink:to="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" xlink:label="us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_638618579909522118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_638618579909522118" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638618579909522118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638618579909522118" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_TotalAvailableLiquidity" xlink:label="tpcs_TotalAvailableLiquidity_638618579909522118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="tpcs_TotalAvailableLiquidity_638618579909522118" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638618579909522118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638618579909522118" order="4" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_638618579909522118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_638618579909522118" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts" xlink:label="tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts_638618579909522118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts_638618579909522118" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638618579909522118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638618579909522118" order="7" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit_638618579909522118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_LineOfCredit_638618579909522118" order="8" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638618579909532118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638618579909532118" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638618579909532118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638618579909532118" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638618579909532118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638618579909532118" order="11" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_638618579909532118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_638618579909532118" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_SaleOfStockAndWarrantPricePerShare" xlink:label="tpcs_SaleOfStockAndWarrantPricePerShare_638618579909532118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="tpcs_SaleOfStockAndWarrantPricePerShare_638618579909532118" 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/2024/elts/us-gaap-2024.xsd#us-gaap_NoninterestExpenseTransferAgentAndCustodianFees" xlink:label="us-gaap_NoninterestExpenseTransferAgentAndCustodianFees_638618579909532118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_NoninterestExpenseTransferAgentAndCustodianFees_638618579909532118" order="14" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_638618579909532118" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_638618579909532118" order="15" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_638618579909542120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909512117" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_638618579909542120" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails" xlink:type="extended" xlink:title="99940202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES - SG&amp;A, Stock Based Compensation (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_229" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909542120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_229" xlink:to="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909542120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_638618579909542120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909542120" xlink:to="us-gaap_IncomeStatementLocationAxis_638618579909542120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_638618579909542120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis_638618579909542120" xlink:to="us-gaap_IncomeStatementLocationDomain_638618579909542120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember_638618579909542120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain_638618579909542120" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember_638618579909542120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems" xlink:label="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909542120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable_638618579909542120" xlink:to="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909542120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpenseAbstract" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract_638618579909542120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909542120" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract_638618579909542120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LaborAndRelatedExpense" xlink:label="us-gaap_LaborAndRelatedExpense_638618579909542120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract_638618579909542120" xlink:to="us-gaap_LaborAndRelatedExpense_638618579909542120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ProfessionalFees" xlink:label="us-gaap_ProfessionalFees_638618579909542120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract_638618579909542120" xlink:to="us-gaap_ProfessionalFees_638618579909542120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OtherGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherGeneralAndAdministrativeExpense_638618579909552119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract_638618579909542120" xlink:to="us-gaap_OtherGeneralAndAdministrativeExpense_638618579909552119" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination" xlink:label="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination_638618579909552119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract_638618579909542120" xlink:to="tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination_638618579909552119" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockBasedAcquisitionTerminationFeesAmount" xlink:label="tpcs_StockBasedAcquisitionTerminationFeesAmount_638618579909552119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract_638618579909542120" xlink:to="tpcs_StockBasedAcquisitionTerminationFeesAmount_638618579909552119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638618579909552119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpenseAbstract_638618579909542120" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638618579909552119" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract_638618579909552119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems_638618579909542120" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract_638618579909552119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_638618579909552119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract_638618579909552119" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_638618579909552119" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails" xlink:type="extended" xlink:title="99940401 - Disclosure - REVENUE - Disaggregated basis (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_224191" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638618579909552119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_224191" xlink:to="us-gaap_DisaggregationOfRevenueTable_638618579909552119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_638618579909552119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638618579909552119" xlink:to="srt_MajorCustomersAxis_638618579909552119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638618579909562119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_638618579909552119" xlink:to="srt_NameOfMajorCustomerDomain_638618579909562119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DefenseMember" xlink:label="tpcs_DefenseMember_638618579909562119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909562119" xlink:to="tpcs_DefenseMember_638618579909562119" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_IndustrialMember" xlink:label="tpcs_IndustrialMember_638618579909562119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909562119" xlink:to="tpcs_IndustrialMember_638618579909562119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638618579909562119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638618579909552119" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638618579909562119" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638618579909562119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638618579909562119" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638618579909562119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember_638618579909562119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638618579909562119" xlink:to="us-gaap_TransferredOverTimeMember_638618579909562119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember_638618579909562119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638618579909562119" xlink:to="us-gaap_TransferredAtPointInTimeMember_638618579909562119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638618579909562119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638618579909552119" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638618579909562119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638618579909562119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638618579909562119" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638618579909562119" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" xlink:type="extended" xlink:title="99940402 - Disclosure - REVENUE - Net sales from customers (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_224192" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638618579909562119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_224192" xlink:to="us-gaap_DisaggregationOfRevenueTable_638618579909562119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_638618579909572119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638618579909562119" xlink:to="srt_MajorCustomersAxis_638618579909572119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638618579909572119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_638618579909572119" xlink:to="srt_NameOfMajorCustomerDomain_638618579909572119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerAMember" xlink:label="tpcs_CustomerAMember_638618579909572119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909572119" xlink:to="tpcs_CustomerAMember_638618579909572119" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerBMember" xlink:label="tpcs_CustomerBMember_638618579909572119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909572119" xlink:to="tpcs_CustomerBMember_638618579909572119" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerCMember" xlink:label="tpcs_CustomerCMember_638618579909572119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909572119" xlink:to="tpcs_CustomerCMember_638618579909572119" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerDMember" xlink:label="tpcs_CustomerDMember_638618579909572119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909572119" xlink:to="tpcs_CustomerDMember_638618579909572119" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerEMember" xlink:label="tpcs_CustomerEMember_638618579909572119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909572119" xlink:to="tpcs_CustomerEMember_638618579909572119" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_638618579909572119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638618579909562119" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_638618579909572119" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638618579909572119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_638618579909572119" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638618579909572119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember_638618579909572119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_638618579909572119" xlink:to="us-gaap_CustomerConcentrationRiskMember_638618579909572119" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_638618579909572119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638618579909562119" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_638618579909572119" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909572119" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_638618579909572119" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909572119" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember_638618579909582122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909572119" xlink:to="us-gaap_SalesRevenueNetMember_638618579909582122" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember_638618579909582122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909572119" xlink:to="us-gaap_AccountsReceivableMember_638618579909582122" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_TradeReceivablesMember" xlink:label="tpcs_TradeReceivablesMember_638618579909582122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909572119" xlink:to="tpcs_TradeReceivablesMember_638618579909582122" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638618579909582122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638618579909562119" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638618579909582122" 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/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638618579909582122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638618579909582122" xlink:to="us-gaap_Revenues_638618579909582122" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1_638618579909582122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638618579909582122" xlink:to="us-gaap_ConcentrationRiskPercentage1_638618579909582122" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails" xlink:type="extended" xlink:title="99940403 - Disclosure - REVENUE - Contract assets and contract liabilities (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638618579909582122" />
    <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_638618579909582122" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_638618579909582122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638618579909582122" xlink:to="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_638618579909582122" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesBillingStatusDomain" xlink:label="us-gaap_ReceivablesBillingStatusDomain_638618579909592120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_638618579909582122" xlink:to="us-gaap_ReceivablesBillingStatusDomain_638618579909592120" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnbilledRevenuesMember" xlink:label="us-gaap_UnbilledRevenuesMember_638618579909592120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesBillingStatusDomain_638618579909592120" xlink:to="us-gaap_UnbilledRevenuesMember_638618579909592120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AdjustmentsProgressPaymentsReceivableMember" xlink:label="tpcs_AdjustmentsProgressPaymentsReceivableMember_638618579909592120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesBillingStatusDomain_638618579909592120" xlink:to="tpcs_AdjustmentsProgressPaymentsReceivableMember_638618579909592120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638618579909592120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638618579909582122" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638618579909592120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638618579909592120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638618579909592120" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638618579909592120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DeferredRevenueMember" xlink:label="tpcs_DeferredRevenueMember_638618579909592120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638618579909592120" xlink:to="tpcs_DeferredRevenueMember_638618579909592120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerDepositsMember" xlink:label="tpcs_CustomerDepositsMember_638618579909592120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638618579909592120" xlink:to="tpcs_CustomerDepositsMember_638618579909592120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638618579909592120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638618579909582122" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638618579909592120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_638618579909592120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638618579909592120" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_638618579909592120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638618579909592120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638618579909592120" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638618579909592120" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" xlink:type="extended" xlink:title="99940404 - Disclosure - REVENUE - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_224232" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638618579909602120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_224232" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638618579909602120" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638618579909602120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638618579909602120" xlink:to="srt_RangeAxis_638618579909602120" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638618579909602120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638618579909602120" xlink:to="srt_RangeMember_638618579909602120" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638618579909602120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638618579909602120" xlink:to="srt_MinimumMember_638618579909602120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638618579909602120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638618579909602120" xlink:to="srt_MaximumMember_638618579909602120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638618579909602120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638618579909602120" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638618579909602120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_638618579909602120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638618579909602120" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_638618579909602120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_638618579909602120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638618579909602120" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_638618579909602120" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50" xlink:label="tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50_638618579909602120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638618579909602120" xlink:to="tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50_638618579909602120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage_638618579909602120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638618579909602120" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage_638618579909602120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_638618579909602120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638618579909602120" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_638618579909602120" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails" xlink:type="extended" xlink:title="99940501 - Disclosure - INCOME TAXES - Income tax provision (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_457" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638618579909612121" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_457" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638618579909612121" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638618579909612121" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_457" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638618579909612121" 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/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638618579909612121" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_457" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638618579909612121" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638618579909612121" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_457" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638618579909612121" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638618579909612121" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638618579909612121" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638618579909612121" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638618579909612121" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638618579909612121" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638618579909612121" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638618579909612121" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638618579909612121" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638618579909612121" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_638618579909612121" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638618579909612121" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_638618579909612121" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638618579909612121" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_638618579909612121" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638618579909612121" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_638618579909622122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_638618579909612121" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_638618579909622122" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638618579909622122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_638618579909612121" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638618579909622122" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638618579909622122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638618579909612121" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638618579909622122" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="6" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails" xlink:type="extended" xlink:title="99940502 - Disclosure - INCOME TAXES - U.S. Federal Statutory Rate To Actual Tax Provision (Benefit) For Income Taxes (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_478" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_638618579909622122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_478" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_638618579909622122" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_638618579909622122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_478" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_638618579909622122" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity" xlink:label="tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity_638618579909622122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_478" xlink:to="tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity_638618579909622122" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate_638618579909622122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_478" xlink:to="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate_638618579909622122" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_638618579909622122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_478" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_638618579909622122" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_638618579909622122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_478" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_638618579909622122" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_638618579909622122" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_478" xlink:to="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_638618579909622122" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638618579909632120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_478" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638618579909632120" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638618579909632120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_478" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638618579909632120" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails" xlink:type="extended" xlink:title="99940503 - Disclosure - INCOME TAXES - Deferred Taxes (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_490" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638618579909632120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_490" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638618579909632120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_638618579909632120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638618579909632120" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_638618579909632120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638618579909632120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638618579909632120" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638618579909632120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_638618579909632120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638618579909632120" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_638618579909632120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_638618579909632120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638618579909632120" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_638618579909632120" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DeferredTaxAssetsOperatingLeases" xlink:label="tpcs_DeferredTaxAssetsOperatingLeases_638618579909632120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638618579909632120" xlink:to="tpcs_DeferredTaxAssetsOperatingLeases_638618579909632120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_638618579909632120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638618579909632120" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_638618579909632120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_638618579909642120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638618579909632120" xlink:to="us-gaap_DeferredTaxAssetsGross_638618579909642120" order="6" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638618579909642120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638618579909632120" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638618579909642120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638618579909642120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638618579909632120" xlink:to="us-gaap_DeferredTaxAssetsNet_638618579909642120" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_638618579909642120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638618579909632120" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_638618579909642120" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638618579909642120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638618579909642120" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638618579909642120" order="1" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:label="us-gaap_DeferredTaxLiabilitiesLeasingArrangements_638618579909642120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638618579909642120" xlink:to="us-gaap_DeferredTaxLiabilitiesLeasingArrangements_638618579909642120" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DeferredTaxLiabilitiesContractAccountingMethods" xlink:label="tpcs_DeferredTaxLiabilitiesContractAccountingMethods_638618579909642120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638618579909642120" xlink:to="tpcs_DeferredTaxLiabilitiesContractAccountingMethods_638618579909642120" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_638618579909642120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638618579909642120" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638618579909642120" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" priority="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_638618579909642120" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638618579909632120" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_638618579909642120" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails" xlink:type="extended" xlink:title="99940504 - Disclosure - INCOME TAXES - Carryforwards and Unrecognized Tax Benefits (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_505" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OperatingLossAndTaxCreditCarryforwardsTable" xlink:label="tpcs_OperatingLossAndTaxCreditCarryforwardsTable_638618579909652125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_505" xlink:to="tpcs_OperatingLossAndTaxCreditCarryforwardsTable_638618579909652125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_638618579909652125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsTable_638618579909652125" xlink:to="us-gaap_IncomeTaxAuthorityAxis_638618579909652125" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638618579909652125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_638618579909652125" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638618579909652125" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember_638618579909652125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638618579909652125" xlink:to="us-gaap_DomesticCountryMember_638618579909652125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis_638618579909652125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsTable_638618579909652125" xlink:to="us-gaap_TaxPeriodAxis_638618579909652125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain_638618579909652125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodAxis_638618579909652125" xlink:to="us-gaap_TaxPeriodDomain_638618579909652125" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_TaxYearsPriorToTwoThousandTwentyOneMember" xlink:label="tpcs_TaxYearsPriorToTwoThousandTwentyOneMember_638618579909652125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain_638618579909652125" xlink:to="tpcs_TaxYearsPriorToTwoThousandTwentyOneMember_638618579909652125" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems" xlink:label="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems_638618579909652125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsTable_638618579909652125" xlink:to="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems_638618579909652125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards_638618579909652125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems_638618579909652125" xlink:to="us-gaap_OperatingLossCarryforwards_638618579909652125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_638618579909652125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems_638618579909652125" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_638618579909652125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638618579909652125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems_638618579909652125" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638618579909652125" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails" xlink:type="extended" xlink:title="99940601 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE - (EPS) (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_799" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable_638618579909662125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_799" xlink:to="us-gaap_ScheduleOfStockByClassTable_638618579909662125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638618579909662125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable_638618579909662125" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638618579909662125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_638618579909662125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638618579909662125" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_638618579909662125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638618579909662125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_638618579909662125" xlink:to="us-gaap_EmployeeStockOptionMember_638618579909662125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_WarrantMember" xlink:label="us-gaap_WarrantMember_638618579909662125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_638618579909662125" xlink:to="us-gaap_WarrantMember_638618579909662125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems_638618579909662125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable_638618579909662125" xlink:to="us-gaap_ClassOfStockLineItems_638618579909662125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract_638618579909662125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638618579909662125" xlink:to="us-gaap_EarningsPerShareBasicAbstract_638618579909662125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638618579909662125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAbstract_638618579909662125" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638618579909662125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638618579909662125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAbstract_638618579909662125" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638618579909662125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638618579909662125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAbstract_638618579909662125" xlink:to="us-gaap_EarningsPerShareBasic_638618579909662125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="us-gaap_EarningsPerShareDilutedAbstract_638618579909672124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638618579909662125" xlink:to="us-gaap_EarningsPerShareDilutedAbstract_638618579909672124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_638618579909672124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareDilutedAbstract_638618579909672124" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_638618579909672124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638618579909672124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareDilutedAbstract_638618579909672124" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638618579909672124" order="2" 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/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638618579909672124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareDilutedAbstract_638618579909672124" xlink:to="us-gaap_EarningsPerShareDiluted_638618579909672124" order="3" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638618579909672124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638618579909662125" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638618579909672124" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails" xlink:type="extended" xlink:title="99940602 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" xlink:label="us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_638618579909672124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_638618579909672124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized_638618579909672124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_CommonStockSharesAuthorized_638618579909672124" order="2" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638618579909682123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_CommonStockSharesOutstanding_638618579909682123" order="3" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized_638618579909682123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_PreferredStockSharesAuthorized_638618579909682123" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_NumberOfSeriesOfPreferredStockShares" xlink:label="tpcs_NumberOfSeriesOfPreferredStockShares_638618579909682123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="tpcs_NumberOfSeriesOfPreferredStockShares_638618579909682123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding_638618579909682123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_PreferredStockSharesOutstanding_638618579909682123" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" xlink:type="extended" xlink:title="99940701 - Disclosure - STOCK-BASED COMPENSATION - Stock option activity (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_596" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_638618579909682123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_596" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_638618579909682123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638618579909682123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_638618579909682123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638618579909682123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_638618579909682123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_638618579909682123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_638618579909682123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6386185799096821231" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_638618579909682123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6386185799096821231" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_638618579909682123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_638618579909682123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_638618579909682123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_638618579909692123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_638618579909682123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_638618579909692123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_638618579909692123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_596" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_638618579909692123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638618579909692123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_638618579909692123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638618579909692123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_638618579909692123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_638618579909692123" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_638618579909692123" order="2" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6386185799096921231" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_638618579909692123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6386185799096921231" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_638618579909692123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_638618579909692123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_638618579909692123" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_638618579909692123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_638618579909692123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_638618579909692123" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract_638618579909692123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_596" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract_638618579909692123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638618579909692123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract_638618579909692123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638618579909692123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_638618579909692123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract_638618579909692123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_638618579909692123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638618579909702124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract_638618579909692123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638618579909702124" order="3" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_638618579909702124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract_638618579909692123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_638618579909702124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_638618579909702124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract_638618579909692123" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_638618579909702124" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract_638618579909702124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_596" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract_638618579909702124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638618579909702124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract_638618579909702124" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638618579909702124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_638618579909702124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract_638618579909702124" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_638618579909702124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_638618579909702124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract_638618579909702124" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_638618579909702124" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" xlink:type="extended" xlink:title="99940702 - Disclosure - STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_644" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_638618579909712124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_644" xlink:to="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_638618579909712124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_638618579909712124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_638618579909712124" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_638618579909712124" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_638618579909712124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_638618579909712124" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_638618579909712124" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RangeOneMember" xlink:label="tpcs_RangeOneMember_638618579909712124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_638618579909712124" xlink:to="tpcs_RangeOneMember_638618579909712124" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RangeTwoMember" xlink:label="tpcs_RangeTwoMember_638618579909712124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_638618579909712124" xlink:to="tpcs_RangeTwoMember_638618579909712124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_638618579909712124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_638618579909712124" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_638618579909712124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_638618579909712124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_638618579909712124" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_638618579909712124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_638618579909712124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_638618579909712124" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_638618579909712124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_638618579909712124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_638618579909712124" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_638618579909712124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_638618579909712124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_638618579909712124" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_638618579909712124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_638618579909712124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_638618579909712124" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_638618579909712124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_638618579909712124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_638618579909712124" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_638618579909712124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_638618579909722125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_638618579909712124" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_638618579909722125" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" xlink:type="extended" xlink:title="99940703 - Disclosure - STOCK-BASED COMPENSATION - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_560" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909722125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_560" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909722125" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_638618579909722125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909722125" xlink:to="srt_TitleOfIndividualAxis_638618579909722125" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_638618579909722125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis_638618579909722125" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_638618579909722125" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_FormerChiefFinancialOfficerMember" xlink:label="tpcs_FormerChiefFinancialOfficerMember_638618579909722125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain_638618579909722125" xlink:to="tpcs_FormerChiefFinancialOfficerMember_638618579909722125" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638618579909722125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909722125" xlink:to="srt_RangeAxis_638618579909722125" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638618579909722125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638618579909722125" xlink:to="srt_RangeMember_638618579909722125" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638618579909722125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638618579909722125" xlink:to="srt_MaximumMember_638618579909722125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638618579909722125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909722125" xlink:to="us-gaap_PlanNameAxis_638618579909722125" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638618579909732123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638618579909722125" xlink:to="us-gaap_PlanNameDomain_638618579909732123" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_EquityIncentivePlan2016Member" xlink:label="tpcs_EquityIncentivePlan2016Member_638618579909732123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638618579909732123" xlink:to="tpcs_EquityIncentivePlan2016Member_638618579909732123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638618579909732123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909722125" xlink:to="us-gaap_AwardTypeAxis_638618579909732123" order="4" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638618579909732123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638618579909732123" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638618579909732123" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember_638618579909732123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638618579909732123" xlink:to="us-gaap_RestrictedStockMember_638618579909732123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909722125" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_638618579909732123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_638618579909732123" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638618579909732123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638618579909732123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638618579909732123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638618579909732123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_638618579909732123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_638618579909732123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638618579909742124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638618579909742124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638618579909742124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638618579909742124" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary_638618579909742124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary_638618579909742124" order="7" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_638618579909742124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_638618579909742124" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedForFinderFee" xlink:label="tpcs_StockIssuedForFinderFee_638618579909742124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="tpcs_StockIssuedForFinderFee_638618579909742124" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_638618579909742124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_638618579909742124" order="10" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638618579909742124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="us-gaap_ShareBasedCompensation_638618579909742124" order="11" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_638618579909742124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_638618579909742124" order="12" 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/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeBenefitsAndShareBasedCompensation" xlink:label="us-gaap_EmployeeBenefitsAndShareBasedCompensation_638618579909752124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="us-gaap_EmployeeBenefitsAndShareBasedCompensation_638618579909752124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_638618579909752124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909732123" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_638618579909752124" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails" xlink:type="extended" xlink:title="99940704 - Disclosure - STOCK-BASED COMPENSATION - Board of directors common stock award (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909752124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_1" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909752124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis_638618579909752124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909752124" xlink:to="us-gaap_GranteeStatusAxis_638618579909752124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain_638618579909752124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusAxis_638618579909752124" xlink:to="us-gaap_GranteeStatusDomain_638618579909752124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedPaymentArrangementNonemployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementNonemployeeMember_638618579909752124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusDomain_638618579909752124" xlink:to="us-gaap_ShareBasedPaymentArrangementNonemployeeMember_638618579909752124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638618579909752124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909752124" xlink:to="us-gaap_PlanNameAxis_638618579909752124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638618579909752124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638618579909752124" xlink:to="us-gaap_PlanNameDomain_638618579909752124" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_EquityIncentivePlan2016Member" xlink:label="tpcs_EquityIncentivePlan2016Member_638618579909762123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638618579909752124" xlink:to="tpcs_EquityIncentivePlan2016Member_638618579909762123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638618579909762123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909752124" xlink:to="us-gaap_AwardTypeAxis_638618579909762123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638618579909762123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638618579909762123" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638618579909762123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638618579909762123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638618579909762123" xlink:to="us-gaap_EmployeeStockOptionMember_638618579909762123" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ServiceBasedRestrictedStockOneMember" xlink:label="tpcs_ServiceBasedRestrictedStockOneMember_638618579909762123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638618579909762123" xlink:to="tpcs_ServiceBasedRestrictedStockOneMember_638618579909762123" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ServiceBasedRestrictedStockTwoMember" xlink:label="tpcs_ServiceBasedRestrictedStockTwoMember_638618579909762123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638618579909762123" xlink:to="tpcs_ServiceBasedRestrictedStockTwoMember_638618579909762123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909762123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638618579909752124" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909762123" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual_638618579909762123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909762123" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual_638618579909762123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638618579909762123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909762123" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638618579909762123" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue" xlink:label="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue_638618579909762123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909762123" xlink:to="tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue_638618579909762123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638618579909762123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909762123" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638618579909762123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_638618579909772124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638618579909762123" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_638618579909772124" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails" xlink:type="extended" xlink:title="99940801 - Disclosure - CONCENTRATION OF RISK (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract_676" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable_638618579909772124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract_676" xlink:to="us-gaap_ConcentrationRiskTable_638618579909772124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_638618579909772124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638618579909772124" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_638618579909772124" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909772124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_638618579909772124" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909772124" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember_638618579909772124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909772124" xlink:to="us-gaap_AccountsReceivableMember_638618579909772124" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_TradeReceivablesMember" xlink:label="tpcs_TradeReceivablesMember_638618579909772124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638618579909772124" xlink:to="tpcs_TradeReceivablesMember_638618579909772124" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_638618579909772124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638618579909772124" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_638618579909772124" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638618579909772124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_638618579909772124" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638618579909772124" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember_638618579909782131" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_638618579909772124" xlink:to="us-gaap_CustomerConcentrationRiskMember_638618579909782131" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_638618579909782131" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638618579909772124" xlink:to="srt_MajorCustomersAxis_638618579909782131" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638618579909782131" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_638618579909782131" xlink:to="srt_NameOfMajorCustomerDomain_638618579909782131" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerAMember" xlink:label="tpcs_CustomerAMember_638618579909782131" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909782131" xlink:to="tpcs_CustomerAMember_638618579909782131" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerBMember" xlink:label="tpcs_CustomerBMember_638618579909782131" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909782131" xlink:to="tpcs_CustomerBMember_638618579909782131" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerCMember" xlink:label="tpcs_CustomerCMember_638618579909782131" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909782131" xlink:to="tpcs_CustomerCMember_638618579909782131" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerDMember" xlink:label="tpcs_CustomerDMember_638618579909782131" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909782131" xlink:to="tpcs_CustomerDMember_638618579909782131" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerEMember" xlink:label="tpcs_CustomerEMember_638618579909782131" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909782131" xlink:to="tpcs_CustomerEMember_638618579909782131" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_Customers.Member" xlink:label="tpcs_Customers.Member_638618579909782131" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909782131" xlink:to="tpcs_Customers.Member_638618579909782131" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CustomerCDMember" xlink:label="tpcs_CustomerCDMember_638618579909782131" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909782131" xlink:to="tpcs_CustomerCDMember_638618579909782131" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OneSupplierMember" xlink:label="tpcs_OneSupplierMember_638618579909782131" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638618579909782131" xlink:to="tpcs_OneSupplierMember_638618579909782131" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems_638618579909792127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638618579909772124" xlink:to="us-gaap_ConcentrationRiskLineItems_638618579909792127" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_NumberOfSignificantCustomers" xlink:label="tpcs_NumberOfSignificantCustomers_638618579909792127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_638618579909792127" xlink:to="tpcs_NumberOfSignificantCustomers_638618579909792127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638618579909792127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_638618579909792127" xlink:to="us-gaap_AccountsReceivableNetCurrent_638618579909792127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1_638618579909792127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_638618579909792127" xlink:to="us-gaap_ConcentrationRiskPercentage1_638618579909792127" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails" xlink:type="extended" xlink:title="99940901 - Disclosure - OTHER CURRENT ASSETS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_290" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance_638618579909792127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_290" xlink:to="us-gaap_PrepaidInsurance_638618579909792127" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PrepaidSubscriptions" xlink:label="tpcs_PrepaidSubscriptions_638618579909792127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_290" xlink:to="tpcs_PrepaidSubscriptions_638618579909792127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes_638618579909792127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_290" xlink:to="us-gaap_PrepaidTaxes_638618579909792127" order="3" 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/2024/elts/us-gaap-2024.xsd#us-gaap_Supplies" xlink:label="us-gaap_Supplies_638618579909792127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_290" xlink:to="us-gaap_Supplies_638618579909792127" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DepositsCurrent" xlink:label="tpcs_DepositsCurrent_638618579909802126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_290" xlink:to="tpcs_DepositsCurrent_638618579909802126" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AdvancesToEmployee" xlink:label="tpcs_AdvancesToEmployee_638618579909802126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_290" xlink:to="tpcs_AdvancesToEmployee_638618579909802126" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PrepaidAdvisoryFeesOther" xlink:label="tpcs_PrepaidAdvisoryFeesOther_638618579909802126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_290" xlink:to="tpcs_PrepaidAdvisoryFeesOther_638618579909802126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent_638618579909802126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_290" xlink:to="us-gaap_OtherAssetsCurrent_638618579909802126" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xlink:type="extended" xlink:title="99941001 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_252" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638618579909802126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_252" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638618579909802126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638618579909802126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638618579909802126" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638618579909802126" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909802126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638618579909802126" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909802126" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember_638618579909802126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909802126" xlink:to="us-gaap_LandMember_638618579909802126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_638618579909802126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909802126" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember_638618579909802126" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_MachineryEquipmentFurnitureAndFixturesMember" xlink:label="tpcs_MachineryEquipmentFurnitureAndFixturesMember_638618579909802126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909802126" xlink:to="tpcs_MachineryEquipmentFurnitureAndFixturesMember_638618579909802126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember_638618579909812125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909802126" xlink:to="us-gaap_ConstructionInProgressMember_638618579909812125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember_638618579909812125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909802126" xlink:to="us-gaap_MachineryAndEquipmentMember_638618579909812125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638618579909812125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638618579909802126" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638618579909812125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_638618579909812125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638618579909812125" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_638618579909812125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638618579909812125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638618579909812125" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638618579909812125" order="2" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_638618579909812125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638618579909812125" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_638618579909812125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_638618579909812125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638618579909812125" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_638618579909812125" order="4" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:label="us-gaap_CostOfGoodsAndServicesSoldDepreciation_638618579909812125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638618579909812125" xlink:to="us-gaap_CostOfGoodsAndServicesSoldDepreciation_638618579909812125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisposals" xlink:label="us-gaap_PropertyPlantAndEquipmentDisposals_638618579909812125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638618579909812125" xlink:to="us-gaap_PropertyPlantAndEquipmentDisposals_638618579909812125" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ProceedsFromFixedAssetsInsuranceSettlement" xlink:label="tpcs_ProceedsFromFixedAssetsInsuranceSettlement_638618579909812125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638618579909812125" xlink:to="tpcs_ProceedsFromFixedAssetsInsuranceSettlement_638618579909812125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_InterestCostsCapitalized" xlink:label="us-gaap_InterestCostsCapitalized_638618579909822128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638618579909812125" xlink:to="us-gaap_InterestCostsCapitalized_638618579909822128" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails" xlink:type="extended" xlink:title="99941101 - Disclosure - ACCRUED EXPENSES (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_320" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_638618579909822128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_320" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_638618579909822128" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_638618579909822128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_320" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_638618579909822128" order="2" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForLossOnContracts" xlink:label="us-gaap_ProvisionForLossOnContracts_638618579909822128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_320" xlink:to="us-gaap_ProvisionForLossOnContracts_638618579909822128" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent_638618579909822128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_320" xlink:to="us-gaap_AccruedProfessionalFeesCurrent_638618579909822128" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AccruedProjectCosts" xlink:label="tpcs_AccruedProjectCosts_638618579909822128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_320" xlink:to="tpcs_AccruedProjectCosts_638618579909822128" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" xlink:label="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent_638618579909822128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_320" xlink:to="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent_638618579909822128" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_638618579909822128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_320" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_638618579909822128" 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/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_638618579909822128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_320" xlink:to="us-gaap_AccruedLiabilitiesCurrent_638618579909822128" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodSharesStockTerminationFee" xlink:label="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee_638618579909832127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_320" xlink:to="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee_638618579909832127" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" xlink:type="extended" xlink:title="99941201 - Disclosure - DEBT - Long-term Debt (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract_3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638618579909832127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract_3" xlink:to="us-gaap_DebtInstrumentTable_638618579909832127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_638618579909832127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638618579909832127" xlink:to="us-gaap_DebtInstrumentAxis_638618579909832127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_638618579909832127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis_638618579909832127" xlink:to="us-gaap_DebtInstrumentNameDomain_638618579909832127" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" xlink:label="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_638618579909832127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638618579909832127" xlink:to="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_638618579909832127" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member" xlink:label="tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_638618579909832127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638618579909832127" xlink:to="tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_638618579909832127" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member" xlink:label="tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_638618579909832127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638618579909832127" xlink:to="tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_638618579909832127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638618579909832127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638618579909832127" xlink:to="us-gaap_DebtInstrumentLineItems_638618579909832127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount_638618579909832127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909832127" xlink:to="us-gaap_DebtInstrumentCarryingAmount_638618579909832127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet_638618579909832127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909832127" xlink:to="us-gaap_DeferredFinanceCostsNet_638618579909832127" order="2" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities_638618579909842126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909832127" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities_638618579909842126" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_638618579909842126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909832127" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_638618579909842126" order="4" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations_638618579909842126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909832127" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligations_638618579909842126" order="5" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_638618579909842126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909832127" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_638618579909842126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="us-gaap_DebtWeightedAverageInterestRate_638618579909842126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909832127" xlink:to="us-gaap_DebtWeightedAverageInterestRate_638618579909842126" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" xlink:type="extended" xlink:title="99941202 - Disclosure - DEBT - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaap_DebtDisclosureAbstract_370" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638618579909842126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_370" xlink:to="us-gaap_DebtInstrumentTable_638618579909842126" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_638618579909842126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638618579909842126" xlink:to="us-gaap_DebtInstrumentAxis_638618579909842126" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_638618579909842126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis_638618579909842126" xlink:to="us-gaap_DebtInstrumentNameDomain_638618579909842126" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member" xlink:label="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_638618579909852126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638618579909842126" xlink:to="tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_638618579909852126" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member" xlink:label="tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_638618579909852126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638618579909842126" xlink:to="tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_638618579909852126" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member" xlink:label="tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_638618579909852126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638618579909842126" xlink:to="tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_638618579909852126" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RanorTermLoanMember" xlink:label="tpcs_RanorTermLoanMember_638618579909852126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638618579909842126" xlink:to="tpcs_RanorTermLoanMember_638618579909852126" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoTermLoanMember" xlink:label="tpcs_StadcoTermLoanMember_638618579909852126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638618579909842126" xlink:to="tpcs_StadcoTermLoanMember_638618579909852126" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_BerkshireLoanMember" xlink:label="tpcs_BerkshireLoanMember_638618579909852126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638618579909842126" xlink:to="tpcs_BerkshireLoanMember_638618579909852126" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638618579909852126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638618579909842126" xlink:to="srt_RangeAxis_638618579909852126" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638618579909852126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638618579909852126" xlink:to="srt_RangeMember_638618579909852126" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638618579909852126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638618579909852126" xlink:to="srt_MinimumMember_638618579909852126" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638618579909852126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638618579909852126" xlink:to="srt_MaximumMember_638618579909852126" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638618579909852126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638618579909842126" xlink:to="dei_LegalEntityAxis_638618579909852126" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638618579909862128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638618579909852126" xlink:to="dei_EntityDomain_638618579909862128" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RanorIncMember" xlink:label="tpcs_RanorIncMember_638618579909862128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638618579909862128" xlink:to="tpcs_RanorIncMember_638618579909862128" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_638618579909862128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638618579909842126" xlink:to="us-gaap_CreditFacilityAxis_638618579909862128" order="4" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638618579909862128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_638618579909862128" xlink:to="us-gaap_CreditFacilityDomain_638618579909862128" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember_638618579909862128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638618579909862128" xlink:to="us-gaap_RevolvingCreditFacilityMember_638618579909862128" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RevolverLoanMember" xlink:label="tpcs_RevolverLoanMember_638618579909862128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638618579909862128" xlink:to="tpcs_RevolverLoanMember_638618579909862128" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SecuredDebtMember" xlink:label="us-gaap_SecuredDebtMember_638618579909862128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638618579909862128" xlink:to="us-gaap_SecuredDebtMember_638618579909862128" 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/2024/elts/us-gaap-2024.xsd#us-gaap_NotesPayableOtherPayablesMember" xlink:label="us-gaap_NotesPayableOtherPayablesMember_638618579909862128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638618579909862128" xlink:to="us-gaap_NotesPayableOtherPayablesMember_638618579909862128" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_638618579909862128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638618579909842126" xlink:to="us-gaap_SubsequentEventTypeAxis_638618579909862128" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_638618579909862128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis_638618579909862128" xlink:to="us-gaap_SubsequentEventTypeDomain_638618579909862128" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember_638618579909872127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeDomain_638618579909862128" xlink:to="us-gaap_SubsequentEventMember_638618579909872127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638618579909872127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638618579909842126" xlink:to="us-gaap_DebtInstrumentLineItems_638618579909872127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount_638618579909872127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_DebtInstrumentFaceAmount_638618579909872127" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_ProceedsFromTermLoan" xlink:label="tpcs_ProceedsFromTermLoan_638618579909872127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_ProceedsFromTermLoan_638618579909872127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638618579909872127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638618579909872127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm_638618579909872127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_DebtInstrumentTerm_638618579909872127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentPeriodicPayment" xlink:label="us-gaap_DebtInstrumentPeriodicPayment_638618579909872127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_DebtInstrumentPeriodicPayment_638618579909872127" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RequiredMinimumDebtServiceCoverageRatio" xlink:label="tpcs_RequiredMinimumDebtServiceCoverageRatio_638618579909882128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_RequiredMinimumDebtServiceCoverageRatio_638618579909882128" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LateChargeFeePercentage" xlink:label="tpcs_LateChargeFeePercentage_638618579909882128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_LateChargeFeePercentage_638618579909882128" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DefaultInterestRate" xlink:label="tpcs_DefaultInterestRate_638618579909882128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_DefaultInterestRate_638618579909882128" order="8" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_638618579909882128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_638618579909882128" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance" xlink:label="tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance_638618579909882128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance_638618579909882128" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances" xlink:label="tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances_638618579909882128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances_638618579909882128" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances" xlink:label="tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances_638618579909882128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances_638618579909882128" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase" xlink:label="tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase_638618579909892135" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase_638618579909892135" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances" xlink:label="tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances_638618579909932129" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances_638618579909932129" order="14" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount_638618579909932129" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_DebtInstrumentFaceAmount_638618579909932129" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit_638618579909942129" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_LineOfCredit_638618579909942129" order="16" 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/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt_638618579909942129" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_InterestExpenseDebt_638618579909942129" order="17" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="us-gaap_DebtWeightedAverageInterestRate_638618579909942129" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_DebtWeightedAverageInterestRate_638618579909942129" order="18" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross_638618579909942129" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_DeferredFinanceCostsGross_638618579909942129" order="19" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_638618579909942129" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_638618579909942129" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CashFlowRatioOfDebtService" xlink:label="tpcs_CashFlowRatioOfDebtService_638618579909942129" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_CashFlowRatioOfDebtService_638618579909942129" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CashFlowToTotalDebtService" xlink:label="tpcs_CashFlowToTotalDebtService_638618579909952127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_CashFlowToTotalDebtService_638618579909952127" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentCovenantLeverageRatioYearOne" xlink:label="tpcs_DebtInstrumentCovenantLeverageRatioYearOne_638618579909952127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_DebtInstrumentCovenantLeverageRatioYearOne_638618579909952127" order="23" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_638618579909952127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_638618579909952127" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CapitalExpendituresFromPurchaseOfFixedAssets" xlink:label="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets_638618579909952127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets_638618579909952127" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentCovenantLoanToValueRatio" xlink:label="tpcs_DebtInstrumentCovenantLoanToValueRatio_638618579909952127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_DebtInstrumentCovenantLoanToValueRatio_638618579909952127" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio" xlink:label="tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio_638618579909952127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio_638618579909952127" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_NonrefundableCommitmentFeePercentages" xlink:label="tpcs_NonrefundableCommitmentFeePercentages_638618579909962139" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="tpcs_NonrefundableCommitmentFeePercentages_638618579909962139" order="28" 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/2024/elts/us-gaap-2024.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense_638618579909962139" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_UnamortizedDebtIssuanceExpense_638618579909962139" order="29" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638618579909962139" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638618579909872127" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638618579909962139" order="30" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration_638618579909962139" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638618579909962139" xlink:to="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration_638618579909962139" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails" xlink:type="extended" xlink:title="99941301 - Disclosure - OTHER NONCURRENT LIABILITY (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesDisclosureAbstract" xlink:label="us-gaap_OtherLiabilitiesDisclosureAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_638618579909972127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherLiabilitiesDisclosureAbstract_2" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_638618579909972127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis_638618579909972127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_638618579909972127" xlink:to="us-gaap_TypeOfArrangementAxis_638618579909972127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_638618579909972127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis_638618579909972127" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_638618579909972127" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember" xlink:label="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_638618579909972127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember_638618579909972127" xlink:to="tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_638618579909972127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_638618579909972127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_638618579909972127" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_638618579909972127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_638618579909972127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_638618579909972127" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent_638618579909972127" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService_638618579909972127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_638618579909972127" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService_638618579909972127" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable" xlink:label="tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable_638618579909972127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_638618579909972127" xlink:to="tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable_638618579909972127" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage" xlink:label="tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage_638618579909982123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_638618579909972127" xlink:to="tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage_638618579909982123" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent_638618579909982123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_638618579909972127" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent_638618579909982123" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent" xlink:label="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent_638618579909982123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_638618579909972127" xlink:to="tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent_638618579909982123" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureLeasesDetails" xlink:type="extended" xlink:title="99941401 - Disclosure - LEASES (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable_638618579909982123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeLeaseDescriptionTable_638618579909982123" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638618579909982123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638618579909982123" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638618579909982123" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909982123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638618579909982123" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909982123" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentMember" xlink:label="us-gaap_PropertyPlantAndEquipmentMember_638618579909982123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638618579909982123" xlink:to="us-gaap_PropertyPlantAndEquipmentMember_638618579909982123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_638618579909982123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638618579909982123" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_638618579909982123" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OtherLeaseAssetsAndLeaseLiabilities" xlink:label="tpcs_OtherLeaseAssetsAndLeaseLiabilities_638618579909982123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638618579909982123" xlink:to="tpcs_OtherLeaseAssetsAndLeaseLiabilities_638618579909982123" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LesseeFinanceLeaseMonthlyPayments" xlink:label="tpcs_LesseeFinanceLeaseMonthlyPayments_638618579909982123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638618579909982123" xlink:to="tpcs_LesseeFinanceLeaseMonthlyPayments_638618579909982123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638618579909992125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638618579909982123" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638618579909992125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_638618579909992125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638618579909982123" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset_638618579909992125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_638618579909992125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638618579909982123" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_638618579909992125" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RightOfUseAsset" xlink:label="tpcs_RightOfUseAsset_638618579909992125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638618579909982123" xlink:to="tpcs_RightOfUseAsset_638618579909992125" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638618579909992125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638618579909982123" xlink:to="us-gaap_OperatingLeaseLiability_638618579909992125" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_638618579909992125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638618579909982123" xlink:to="us-gaap_FinanceLeaseLiability_638618579909992125" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_LeaseLiability" xlink:label="tpcs_LeaseLiability_638618579909992125" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638618579909982123" xlink:to="tpcs_LeaseLiability_638618579909992125" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails" xlink:type="extended" xlink:title="99941402 - Disclosure - LEASES - Other supplemental information of Leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_638618579910002123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_638618579910002123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638618579910002123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638618579910002123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense_638618579910002123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseInterestExpense_638618579910002123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638618579910002123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638618579910002123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_638618579910002123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_638618579910002123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638618579910002123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638618579910002123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_638618579910002123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_638618579910002123" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" xlink:type="extended" xlink:title="99941403 - Disclosure - LEASES - Supplemental cash flow information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments_638618579910002123" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeasePayments_638618579910002123" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments_638618579910012126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeasePrincipalPayments_638618579910012126" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" xlink:type="extended" xlink:title="99941404 - Disclosure - LEASES - Maturities of lease liabilities (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638618579910012126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract_2" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638618579910012126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638618579910012126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638618579910012126" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638618579910012126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638618579910012126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638618579910012126" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638618579910012126" order="2" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638618579910012126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638618579910012126" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638618579910012126" order="3" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_638618579910012126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638618579910012126" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_638618579910012126" order="4" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_638618579910012126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638618579910012126" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_638618579910012126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_638618579910012126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638618579910012126" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_638618579910012126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_638618579910012126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638618579910012126" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_638618579910012126" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_FinanceLeaseLiabilityImputedInterest" xlink:label="tpcs_FinanceLeaseLiabilityImputedInterest_638618579910012126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638618579910012126" xlink:to="tpcs_FinanceLeaseLiabilityImputedInterest_638618579910012126" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_FinanceLeaseLiabilities" xlink:label="tpcs_FinanceLeaseLiabilities_638618579910022126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638618579910012126" xlink:to="tpcs_FinanceLeaseLiabilities_638618579910022126" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails" xlink:type="extended" xlink:title="99941501 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_699" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear" xlink:label="tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear_638618579910022126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_699" xlink:to="tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear_638618579910022126" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday" xlink:label="tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday_638618579910022126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_699" xlink:to="tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday_638618579910022126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation_638618579910022126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_699" xlink:to="us-gaap_PurchaseObligation_638618579910022126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_638618579910022126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_699" xlink:to="us-gaap_DefinedContributionPlanCostRecognized_638618579910022126" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" xlink:type="extended" xlink:title="99941601 - Disclosure - SEGMENT INFORMATION - Financial information for segments (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638618579910022126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract_2" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638618579910022126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638618579910022126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638618579910022126" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638618579910022126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638618579910032127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638618579910022126" xlink:to="us-gaap_SegmentDomain_638618579910032127" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_RanorIncMember" xlink:label="tpcs_RanorIncMember_638618579910032127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638618579910032127" xlink:to="tpcs_RanorIncMember_638618579910032127" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StadcoAcquisitionLlcMember" xlink:label="tpcs_StadcoAcquisitionLlcMember_638618579910032127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638618579910032127" xlink:to="tpcs_StadcoAcquisitionLlcMember_638618579910032127" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638618579910032127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638618579910022126" xlink:to="srt_ConsolidationItemsAxis_638618579910032127" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638618579910032127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638618579910032127" xlink:to="srt_ConsolidationItemsDomain_638618579910032127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember_638618579910032127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638618579910032127" xlink:to="us-gaap_OperatingSegmentsMember_638618579910032127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember_638618579910032127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638618579910032127" xlink:to="us-gaap_IntersegmentEliminationMember_638618579910032127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_CorporateNonSegmentMember" xlink:label="us-gaap_CorporateNonSegmentMember_638618579910032127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638618579910032127" xlink:to="us-gaap_CorporateNonSegmentMember_638618579910032127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638618579910032127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638618579910022126" xlink:to="us-gaap_SegmentReportingInformationLineItems_638618579910032127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638618579910032127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638618579910032127" xlink:to="us-gaap_NumberOfReportableSegments_638618579910032127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638618579910032127" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638618579910032127" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638618579910032127" 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/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638618579910042133" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638618579910032127" xlink:to="us-gaap_OperatingIncomeLoss_638618579910042133" order="3" 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/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating" xlink:label="us-gaap_InterestExpenseNonoperating_638618579910042133" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638618579910032127" xlink:to="us-gaap_InterestExpenseNonoperating_638618579910042133" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_EmployeeRetentionCreditRefund" xlink:label="tpcs_EmployeeRetentionCreditRefund_638618579910042133" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638618579910032127" xlink:to="tpcs_EmployeeRetentionCreditRefund_638618579910042133" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_OtherIncomeAndExpense" xlink:label="tpcs_OtherIncomeAndExpense_638618579910042133" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638618579910032127" xlink:to="tpcs_OtherIncomeAndExpense_638618579910042133" 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/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638618579910042133" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638618579910032127" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638618579910042133" 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/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638618579910042133" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638618579910032127" xlink:to="us-gaap_Assets_638618579910042133" order="8" 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/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization_638618579910042133" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638618579910032127" xlink:to="us-gaap_DepreciationAndAmortization_638618579910042133" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_CapitalExpendituresFromPurchaseOfFixedAssets" xlink:label="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets_638618579910042133" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638618579910032127" xlink:to="tpcs_CapitalExpendituresFromPurchaseOfFixedAssets_638618579910042133" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" xlink:type="extended" xlink:title="99941701 - Disclosure - SUBSEQUENT EVENTS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable_638618579910052126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventTable_638618579910052126" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_638618579910052126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable_638618579910052126" xlink:to="us-gaap_SubsequentEventTypeAxis_638618579910052126" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_638618579910052126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis_638618579910052126" xlink:to="us-gaap_SubsequentEventTypeDomain_638618579910052126" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember_638618579910052126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeDomain_638618579910052126" xlink:to="us-gaap_SubsequentEventMember_638618579910052126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_638618579910052126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable_638618579910052126" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_638618579910052126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_638618579910052126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis_638618579910052126" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_638618579910052126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember_638618579910052126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain_638618579910052126" xlink:to="us-gaap_PrivatePlacementMember_638618579910052126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems_638618579910052126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable_638618579910052126" xlink:to="us-gaap_SubsequentEventLineItems_638618579910052126" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodSharesStockTerminationFee" xlink:label="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee_638618579910052126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems_638618579910052126" xlink:to="tpcs_StockIssuedDuringPeriodSharesStockTerminationFee_638618579910052126" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee" xlink:label="tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee_638618579910052126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems_638618579910052126" xlink:to="tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee_638618579910052126" 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/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638618579910052126" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems_638618579910052126" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638618579910052126" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="tpcs-20240331.xsd#tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent" xlink:label="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent_638618579910062128" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems_638618579910052126" xlink:to="tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent_638618579910062128" order="4" 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>18
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441740863184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Sep. 12, 2024</div></th>
<th class="th"><div>Sep. 30, 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_dei_CoverAbstract', window );"><strong>Document and Entity 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>
</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-K<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_dei_DocumentAnnualReport', window );">Document Annual Report</a></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_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<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_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar. 31,  2024<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_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">TECHPRECISION CORP<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_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-51378<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_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>
<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">51-0539828<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_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">1 Bella Drive<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_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Westminster<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_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">MA<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_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">01473<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_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">978<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_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">874-0591<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_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $0.0001 per share<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_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">TPCS<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_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<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_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">No<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_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<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_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<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_dei_EntitySmallBusiness', window );">Entity Small Business</a></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_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<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_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<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_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,619,232<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_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001328792<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_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--03-31<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_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<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_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<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_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<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_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<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_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<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_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 53.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_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<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_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [Flag]</a></td>
<td class="text">false<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_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Marcum LLP<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_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">688<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_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Philadelphia, Pennsylvania<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_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_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</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-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AuditorFirmId</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:nonemptySequenceNumberItemType</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_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AuditorLocation</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:internationalNameItemType</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_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AuditorName</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:internationalNameItemType</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_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</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_CoverAbstract</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: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_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_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 annual 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-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentAnnualReport</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_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 whether any of the financial statement period in the filing include a restatement due to error correction.</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-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentFinStmtErrorCorrectionFlag</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_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_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_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</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_EntityPublicFloat</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: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_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_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</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_EntityVoluntaryFilers</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_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</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 Securities Act<br> -Number 230<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_EntityWellKnownSeasonedIssuer</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_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_IcfrAuditorAttestationFlag</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_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>19
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741164240">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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">$ 138,402<span></span>
</td>
<td class="nump">$ 534,474<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_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">2,371,264<span></span>
</td>
<td class="nump">2,336,481<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_ContractWithCustomerAssetNetCurrent', window );">Contract assets</a></td>
<td class="nump">8,526,726<span></span>
</td>
<td class="nump">8,947,811<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_InventoryRawMaterialsAndSupplies', window );">Raw materials</a></td>
<td class="nump">1,826,765<span></span>
</td>
<td class="nump">1,692,852<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_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">1,422,938<span></span>
</td>
<td class="nump">719,736<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_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">563,688<span></span>
</td>
<td class="nump">348,983<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_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">14,849,783<span></span>
</td>
<td class="nump">14,580,337<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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">14,797,991<span></span>
</td>
<td class="nump">13,914,024<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_FinanceLeaseRightOfUseAsset', window );">Right of use asset, net</a></td>
<td class="nump">4,977,665<span></span>
</td>
<td class="nump">5,660,938<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 income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,931,186<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_OtherAssetsNoncurrent', window );">Other noncurrent assets</a></td>
<td class="nump">121,256<span></span>
</td>
<td class="nump">121,256<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">34,746,695<span></span>
</td>
<td class="nump">36,207,741<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">1,408,356<span></span>
</td>
<td class="nump">2,224,320<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">4,262,486<span></span>
</td>
<td class="nump">2,533,185<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">3,787,933<span></span>
</td>
<td class="nump">2,333,591<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_tpcs_LeaseLiabilityCurrent', window );">Current portion of long-term lease liability</a></td>
<td class="nump">735,871<span></span>
</td>
<td class="nump">711,727<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_LongTermDebtAndCapitalLeaseObligationsCurrent', window );">Current portion of long-term debt, net</a></td>
<td class="nump">7,558,683<span></span>
</td>
<td class="nump">1,218,162<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">17,753,329<span></span>
</td>
<td class="nump">9,020,985<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_LongTermDebtNoncurrent', window );">Long-term debt, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,749,139<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_FinanceLeaseLiabilityNoncurrent', window );">Long-term lease liability</a></td>
<td class="nump">4,408,103<span></span>
</td>
<td class="nump">5,143,974<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_OtherLiabilitiesNoncurrent', window );">Other noncurrent liability</a></td>
<td class="nump">4,782,372<span></span>
</td>
<td class="nump">2,699,492<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">26,943,804<span></span>
</td>
<td class="nump">21,613,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 contingent liabilities (see Note 15)</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_CommonStockValue', window );">Common stock - par value $.0001 per share, shares authorized: March 31, 2024 - 50,000,000; Shares issued and outstanding: March 31, 2024 - 8,777,432; March 31, 2023 - 8,613,408</a></td>
<td class="nump">878<span></span>
</td>
<td class="nump">861<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_AdditionalPaidInCapital', window );">Additional paid in capital</a></td>
<td class="nump">15,200,624<span></span>
</td>
<td class="nump">14,949,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_RetainedEarningsAccumulatedDeficit', window );">Retained earnings (accumulated deficit)</a></td>
<td class="num">(7,398,611)<span></span>
</td>
<td class="num">(356,439)<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_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">7,802,891<span></span>
</td>
<td class="nump">14,594,151<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_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 34,746,695<span></span>
</td>
<td class="nump">$ 36,207,741<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_LeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease, classified as current.</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;">tpcs_LeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_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://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(19)(a))<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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<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_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</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/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-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(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_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-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>Amount of asset recognized for present right to economic 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/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><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 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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/2147479168/946-830-55-12<br><br>Reference 14: 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/2147478777/944-210-S99-1<br><br>Reference 15: 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/2147479170/946-210-S99-1<br><br>Reference 16: 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 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/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 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)(iii)(A))<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)(iv))<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)(5))<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 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 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)(A))<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)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: 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 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: 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/2147478546/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>Amount of asset recognized for present right to economic benefit, 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 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://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(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-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(25))<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 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/2147478777/944-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 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-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_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://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 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)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/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_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_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization, of right-of-use asset from finance 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_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-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_InventoryRawMaterialsAndSupplies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed.</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))<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_InventoryRawMaterialsAndSupplies</td>
</tr>
<tr>
<td style="padding-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_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</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 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<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)(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_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-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>Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others.</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://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(20))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-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(25))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<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 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 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(21))<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 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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/2147479168/946-830-55-12<br><br>Reference 16: 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/2147479170/946-210-S99-1<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/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 28: 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 29: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2147478777/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/2147478546/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://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(21))<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/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 9: 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 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)(i))<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)(ii))<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><br>Reference 21: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_LongTermDebtAndCapitalLeaseObligationsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term debt and lease obligation, classified as current.</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(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_LongTermDebtAndCapitalLeaseObligationsCurrent</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</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(22))<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_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-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_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 noncurrent 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/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<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_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-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_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 classified as other, due after 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<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_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: 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 4: 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/2147478777/944-210-S99-1<br><br>Reference 5: 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/2147478451/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://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><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 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 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 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 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)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: 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/2147479170/946-210-S99-1<br><br>Reference 8: 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_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://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 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(30))<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 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 4: 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 5: 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/2147479168/946-830-55-12<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: 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/2147479170/946-210-S99-2<br><br>Reference 8: 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/2147479134/946-220-S99-3<br><br>Reference 9: 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/2147479134/946-220-S99-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 S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: 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 12: 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 13: 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 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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441740928560">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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>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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<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">50,000,000<span></span>
</td>
<td class="nump">50,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">8,777,432<span></span>
</td>
<td class="nump">8,613,408<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">8,777,432<span></span>
</td>
<td class="nump">8,613,408<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://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 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(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-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_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://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 3: 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/2147479170/946-210-S99-2<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(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: 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/2147479170/946-210-S99-1<br><br>Reference 6: 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/2147479134/946-220-S99-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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741260160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_IncomeStatementAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS</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_Revenues', window );">Net sales</a></td>
<td class="nump">$ 31,591,059<span></span>
</td>
<td class="nump">$ 31,431,614<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_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="nump">27,472,883<span></span>
</td>
<td class="nump">26,527,953<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">4,118,176<span></span>
</td>
<td class="nump">4,903,661<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</a></td>
<td class="nump">8,750,376<span></span>
</td>
<td class="nump">6,008,881<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 );">Loss from operations</a></td>
<td class="num">(4,632,200)<span></span>
</td>
<td class="num">(1,105,220)<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_tpcs_OtherIncomeAndExpense', window );">Other income (expense), net</a></td>
<td class="nump">43,363<span></span>
</td>
<td class="nump">40,842<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_InterestExpenseNonoperating', window );">Interest expense</a></td>
<td class="num">(521,108)<span></span>
</td>
<td class="num">(355,608)<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_tpcs_EmployeeRetentionCreditRefund', window );">Refundable employee retention tax credits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">636,564<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_NonoperatingIncomeExpense', window );">Total other (expense) income, net</a></td>
<td class="num">(477,745)<span></span>
</td>
<td class="nump">321,798<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Loss before income taxes</a></td>
<td class="num">(5,109,945)<span></span>
</td>
<td class="num">(783,422)<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">1,932,227<span></span>
</td>
<td class="nump">195,584<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_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net loss</a></td>
<td class="num">$ (7,042,172)<span></span>
</td>
<td class="num">$ (979,006)<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 );">Net loss per share - basic (in dollars per share)</a></td>
<td class="num">$ (0.81)<span></span>
</td>
<td class="num">$ (0.11)<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 );">Net loss per share - diluted (in dollars per share)</a></td>
<td class="num">$ (0.81)<span></span>
</td>
<td class="num">$ (0.11)<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 );">Weighted average number of shares outstanding - basic (in shares)</a></td>
<td class="nump">8,717,160<span></span>
</td>
<td class="nump">8,595,992<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 );">Weighted average number of shares outstanding - diluted (in shares)</a></td>
<td class="nump">8,717,160<span></span>
</td>
<td class="nump">8,595,992<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_EmployeeRetentionCreditRefund">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employee retention credit refund.</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;">tpcs_EmployeeRetentionCreditRefund</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_OtherIncomeAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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>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;">tpcs_OtherIncomeAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</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(2)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<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 S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-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_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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<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 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 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 (e)(4)<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 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 9: 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 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 (b)<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 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: 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 14: 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 15: 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 16: 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 17: 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 18: 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/2147478524/942-220-S99-1<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<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 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 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 (e)(4)<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 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 9: 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 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 (b)<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 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: 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 14: 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 15: 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 16: 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 17: 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/2147478524/942-220-S99-1<br><br>Reference 18: 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/2147477250/944-220-S99-1<br><br>Reference 19: 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/2009/role/commonPracticeRef<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/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><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 8: 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><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(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: 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 11: 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 12: 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 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)(i))<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)(ii))<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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2009/role/commonPracticeRef<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/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><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 8: 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/2147477250/944-220-S99-1<br><br>Reference 9: 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 10: 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/2147477314/942-235-S99-1<br><br>Reference 11: 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 12: 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/2147478524/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 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<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 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: 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 7: 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 8: 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 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> -Subparagraph (h)<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 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/2147477250/944-220-S99-1<br><br>Reference 11: 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 12: 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_InterestExpenseNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest expense classified as nonoperating.</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> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<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_InterestExpenseNonoperating</td>
</tr>
<tr>
<td style="padding-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_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 3: 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 4: 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 5: 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 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 6.B)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-5<br><br>Reference 7: 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 8: 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 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-11<br><br>Reference 10: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-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_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</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(7))<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_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-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/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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 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><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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 7: 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 8: 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 9: 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 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)(i))<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)(ii))<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/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 21: 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 22: 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 23: 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 24: 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 25: 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/2147477314/942-235-S99-1<br><br>Reference 26: 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(1))<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_Revenues</td>
</tr>
<tr>
<td style="padding-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_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>22
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441742364576">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br></strong></div></th>
<th class="th"><div>Common Stock Outstanding</div></th>
<th class="th"><div>Additional Paid in Capital</div></th>
<th class="th"><div>Retained Earnings (Accumulated Deficit)</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_StockholdersEquity', window );">Balance at Mar. 31, 2022</a></td>
<td class="nump">$ 858<span></span>
</td>
<td class="nump">$ 14,640,343<span></span>
</td>
<td class="nump">$ 622,567<span></span>
</td>
<td class="nump">$ 15,263,768<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_SharesIssued', window );">Balance (in shares) at Mar. 31, 2022</a></td>
<td class="nump">8,576,862<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">109,079<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">109,079<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_tpcs_StockIssuedDuringPeriodValueContingentConsideration', window );">Stock issued for contingent consideration</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">56,309<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">56,310<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_tpcs_StockIssuedDuringPeriodSharesContingentConsideration', window );">Stock issued for contingent consideration (in shares)</a></td>
<td class="nump">9,127<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_tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan', window );">Stock award non-employee directors (in shares)</a></td>
<td class="nump">25,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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan', window );">Stock award non-employee directors</a></td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">143,998<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">144,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_tpcs_StockSplitFractionalShareRoundUpInShares', window );">Stock split fractional share round up (in shares)</a></td>
<td class="nump">2,419<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_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(979,006)<span></span>
</td>
<td class="num">(979,006)<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_StockholdersEquity', window );">Balance at Mar. 31, 2023</a></td>
<td class="nump">$ 861<span></span>
</td>
<td class="nump">14,949,729<span></span>
</td>
<td class="num">(356,439)<span></span>
</td>
<td class="nump">14,594,151<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_SharesIssued', window );">Balance (in shares) at Mar. 31, 2023</a></td>
<td class="nump">8,613,408<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_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock award nonemployee directors</a></td>
<td class="nump">$ 11<span></span>
</td>
<td class="num">(11)<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised (in shares)</a></td>
<td class="nump">109,024<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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Tax withheld for exercised options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(34,013)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(34,013)<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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Restricted stock award</a></td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">107,172<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">107,175<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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Restricted stock award (in share)</a></td>
<td class="nump">30,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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan', window );">Stock award non-employee directors (in shares)</a></td>
<td class="nump">25,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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan', window );">Stock award non-employee directors</a></td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">177,747<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">177,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_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,042,172)<span></span>
</td>
<td class="num">(7,042,172)<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_StockholdersEquity', window );">Balance at Mar. 31, 2024</a></td>
<td class="nump">$ 878<span></span>
</td>
<td class="nump">$ 15,200,624<span></span>
</td>
<td class="num">$ (7,398,611)<span></span>
</td>
<td class="nump">$ 7,802,891<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_SharesIssued', window );">Balance (in shares) at Mar. 31, 2024</a></td>
<td class="nump">8,777,432<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_tpcs_StockIssuedDuringPeriodSharesContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for contingent consideration.</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;">tpcs_StockIssuedDuringPeriodSharesContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 capital stock issued (purchased by nonemployee directors) in connection with an nonemployee directors stock ownership plan.</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;">tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_StockIssuedDuringPeriodValueContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of stock issued  for contingent consideration.</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;">tpcs_StockIssuedDuringPeriodValueContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>duration credit. defi: Aggregate value of stock issued during the period as a result of nonemployee directors stock ownership plan.</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;">tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_StockSplitFractionalShareRoundUpInShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in stock split fractional share round up.</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;">tpcs_StockSplitFractionalShareRoundUpInShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 decrease to equity for 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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-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_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_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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<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(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 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://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/2147478524/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_SharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now 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> -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_SharesIssued</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 during the period related to Restricted Stock Awards, net of any shares forfeited.</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 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> -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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="padding-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_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://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 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://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 5: 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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.</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 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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of stock issued as a result of the exercise of stock options.</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(29))<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 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 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(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: 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_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-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_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://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 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(30))<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 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 4: 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 5: 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/2147479168/946-830-55-12<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: 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/2147479170/946-210-S99-2<br><br>Reference 8: 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/2147479134/946-220-S99-3<br><br>Reference 9: 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/2147479134/946-220-S99-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 S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: 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 12: 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 13: 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 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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441742530400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_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 loss</a></td>
<td class="num">$ (7,042,172)<span></span>
</td>
<td class="num">$ (979,006)<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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net loss to net cash provided by 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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">2,429,377<span></span>
</td>
<td class="nump">2,217,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_AmortizationOfFinancingCosts', window );">Amortization of debt issue costs</a></td>
<td class="nump">106,840<span></span>
</td>
<td class="nump">59,916<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_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on disposal of equipment</a></td>
<td class="num">(39,129)<span></span>
</td>
<td class="num">(468)<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_ShareBasedCompensation', window );">Stock based compensation and restricted stock awards</a></td>
<td class="nump">284,925<span></span>
</td>
<td class="nump">253,079<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_GainLossOnContractTermination', window );">Change in contract loss provision</a></td>
<td class="nump">190,370<span></span>
</td>
<td class="num">(237,318)<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_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="nump">1,931,186<span></span>
</td>
<td class="nump">195,584<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_tpcs_StockBasedAcquisitionTerminationFeesAmount', window );">Stock based acquisition termination fee</a></td>
<td class="nump">1,116,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_tpcs_StockBasedExpenseForContingentConsideration', window );">Stock based expense for contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">56,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_tpcs_GainLossFromContingentConsideration', window );">Change in fair value for contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(63,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_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="ro">
<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="num">(34,783)<span></span>
</td>
<td class="nump">672,768<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_IncreaseDecreaseInContractWithCustomerAsset', window );">Contract assets</a></td>
<td class="nump">421,085<span></span>
</td>
<td class="num">(597,580)<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_IncreaseDecreaseInInventories', window );">Work-in-process and raw materials</a></td>
<td class="num">(837,115)<span></span>
</td>
<td class="num">(177,914)<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_IncreaseDecreaseInOtherCurrentAssets', window );">Other current assets</a></td>
<td class="num">(214,705)<span></span>
</td>
<td class="nump">1,072,476<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_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(815,964)<span></span>
</td>
<td class="num">(1,202,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_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="nump">388,116<span></span>
</td>
<td class="num">(1,094,137)<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_tpcs_IncreaseDecreaseInContractLiabilities', window );">Contract liabilities</a></td>
<td class="nump">1,454,342<span></span>
</td>
<td class="nump">568,273<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_IncreaseDecreaseInOtherOperatingLiabilities', window );">Other noncurrent liabilities</a></td>
<td class="nump">1,965,691<span></span>
</td>
<td class="nump">2,394,420<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 operating activities</a></td>
<td class="nump">1,304,864<span></span>
</td>
<td class="nump">3,137,838<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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, plant, and equipment</a></td>
<td class="num">(3,230,237)<span></span>
</td>
<td class="num">(2,325,301)<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_tpcs_ProceedsFromFixedAssetsInsuranceSettlement', window );">Proceeds from fixed assets insurance settlement</a></td>
<td class="nump">61,944<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_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sale of fixed assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,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_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(3,168,293)<span></span>
</td>
<td class="num">(2,318,301)<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_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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tpcs_ProceedsFromTermLoan', window );">Proceeds from revolver loan</a></td>
<td class="nump">7,160,000<span></span>
</td>
<td class="nump">10,885,150<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_RepaymentsOfLinesOfCredit', window );">Repayment of revolver loan</a></td>
<td class="num">(5,025,000)<span></span>
</td>
<td class="num">(11,522,152)<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_PaymentsOfLoanCosts', window );">Debt issuance costs</a></td>
<td class="num">(50,363)<span></span>
</td>
<td class="num">(57,723)<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_FinanceLeasePrincipalPayments', window );">Principal payments for leases</a></td>
<td class="num">(17,185)<span></span>
</td>
<td class="num">(36,572)<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_RepaymentsOfLongTermDebt', window );">Repayment of long-term debt</a></td>
<td class="num">(600,095)<span></span>
</td>
<td class="num">(605,905)<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_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="nump">1,467,357<span></span>
</td>
<td class="num">(1,337,202)<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 decrease in cash and cash equivalents</a></td>
<td class="num">(396,072)<span></span>
</td>
<td class="num">(517,665)<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">534,474<span></span>
</td>
<td class="nump">1,052,139<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">138,402<span></span>
</td>
<td class="nump">534,474<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 DISCLOSURES OF CASH FLOWS 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_InterestPaidNet', window );">Cash paid during the year for interest (net of interest capitalized)</a></td>
<td class="nump">$ 414,268<span></span>
</td>
<td class="nump">$ 288,085<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_GainLossFromContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) obtained from contingent consideration.</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;">tpcs_GainLossFromContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_IncreaseDecreaseInContractLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 contract 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;">tpcs_IncreaseDecreaseInContractLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_ProceedsFromFixedAssetsInsuranceSettlement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for proceeds from fixed assets insurance settlement.</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;">tpcs_ProceedsFromFixedAssetsInsuranceSettlement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_ProceedsFromTermLoan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for Proceeds From Term Loan.</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;">tpcs_ProceedsFromTermLoan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_StockBasedAcquisitionTerminationFeesAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock-based acquisition termination fee payable.</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;">tpcs_StockBasedAcquisitionTerminationFeesAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_StockBasedExpenseForContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock based expense for contingent consideration.</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;">tpcs_StockBasedExpenseForContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense attributable to debt issuance costs.</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(8))<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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 3: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-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_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-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/2147477401/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_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> -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_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the 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> -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/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><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<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 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-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_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for principal payment on finance 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 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-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_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-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_GainLossOnContractTermination">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gain (loss) related to the termination of a contract between the parties. The termination may be due to many causes including early termination of a lease by a lessee, a breach of contract by one party, or a failure to perform.</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_GainLossOnContractTermination</td>
</tr>
<tr>
<td style="padding-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_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</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_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 aggregate amount of expenses incurred but not yet 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_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-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_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_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating 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> -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_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-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_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_IncreaseDecreaseInOtherCurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/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_IncreaseDecreaseInOtherCurrentAssets</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 liabilities 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_IncreaseDecreaseInOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-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_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</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 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-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_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-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_PaymentsOfLoanCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for loan origination associated cost which is usually collected through escrow.</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> -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_PaymentsOfLoanCosts</td>
</tr>
<tr>
<td style="padding-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_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</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 12<br> -Subparagraph (c)<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_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<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 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 9: 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 10: 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 11: 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/2147479168/946-830-55-11<br><br>Reference 12: 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/2147478009/946-205-45-3<br><br>Reference 13: 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/2147479105/946-220-45-7<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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: 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/2147479134/946-220-S99-1<br><br>Reference 16: 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/2147479134/946-220-S99-3<br><br>Reference 17: 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 18: 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 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 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/2147477314/942-235-S99-1<br><br>Reference 30: 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 31: 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 32: 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 33: 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 34: 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 35: 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 36: 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 37: 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_RepaymentsOfLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</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 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<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(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_RepaymentsOfLinesOfCredit</td>
</tr>
<tr>
<td style="padding-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_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for debt initially having maturity 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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br><br>Reference 2: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-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_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>24
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741598656">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)<br></strong></div></th>
<th class="th">
<div>Jul. 13, 2023 </div>
<div>shares</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_TitleOfIndividualAxis=srt_ChiefFinancialOfficerMember', window );">Chief Financial Officer</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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]</strong></a></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_tpcs_CommonStockPursuantToOptionAwards', window );">Company common stock pursuant to option awards</a></td>
<td class="nump">125,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_tpcs_OptionsExercisedAsCashlessNetSettlementTransaction', window );">Options exercised as a cashless net settlement transaction</a></td>
<td class="nump">109,024<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_CommonStockPursuantToOptionAwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>It represents the common stock pursuant to option 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;">tpcs_CommonStockPursuantToOptionAwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_OptionsExercisedAsCashlessNetSettlementTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>It represents the options exercised as cashless net settlement transaction.</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;">tpcs_OptionsExercisedAsCashlessNetSettlementTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems</td>
</tr>
<tr>
<td style="padding-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_TitleOfIndividualAxis=srt_ChiefFinancialOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ChiefFinancialOfficerMember</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>25
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441740579296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DESCRIPTION OF BUSINESS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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 BUSINESS</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_NatureOfOperations', window );">DESCRIPTION OF BUSINESS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;1&#160;- DESCRIPTION OF BUSINESS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">TechPrecision Corporation, or &#8220;TechPrecision&#8221;, is a Delaware corporation organized in February 2005 under the name Lounsberry Holdings II, Inc. On February 24, 2006, we acquired all the issued and outstanding capital stock of our wholly owned subsidiary Ranor, Inc., or &#8220;Ranor.&#8221; Ranor, together with its predecessors, has been in continuous operation since 1956. The name was changed to TechPrecision Corporation on March 6, 2006.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">TechPrecision is the parent company of Ranor, Westminster Credit Holdings, LLC, or &#8220;WCH&#8221;, Stadco New Acquisition, LLC, or &#8220;Acquisition Sub&#8221;, and Stadco. TechPrecision, Ranor, WCH, Acquisition Sub and Stadco are collectively referred to as the &#8220;Company&#8221;, &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 25, 2021, the Company completed its acquisition of Stadco, pursuant to that certain stock purchase agreement with Acquisition Sub, Stadco Acquisition, LLC, Stadco and each equity holder of Stadco Acquisition, LLC. On the closing date, the Company, through Acquisition Sub, acquired all the issued and outstanding capital stock of Stadco from Stadco Acquisition, LLC in exchange for the issuance of shares of the Company&#8217;s common stock to Stadco Acquisition, LLC. As a result of the acquisition, Stadco is now our wholly owned indirect subsidiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We manufacture large-scale metal fabricated and machined precision components and equipment. These products are used in a variety of markets including defense and aerospace, nuclear, medical, and precision industrial. All our operations and customers are in the United States, or &#8220;U.S.&#8221;.</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_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</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> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-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_NatureOfOperations</td>
</tr>
<tr>
<td style="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>26
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441743490992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_AccountingPoliciesAbstract', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', 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;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;2&#160;- BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Basis of Presentation and Consolidation - </i>The accompanying consolidated financial statements include the accounts of TechPrecision, Ranor, Stadco, and Westminster Credit Holdings, LLC. Intercompany transactions and balances have been eliminated in consolidation. On February 23, 2023, the Company effected a <span style="-sec-ix-hidden:Hidden_EXe3YM4Mu0qaxLIQ7lbOKA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span>-for-four reverse stock split with respect to the issued and outstanding shares of TechPrecision common stock. All share and per-share amounts included in this Form 10-K are presented as if the stock split had been effective from the beginning of the earliest period presented.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Use of Estimates in the Preparation of Financial Statements&#160;-</i> In preparing the consolidated financial statements in conformity with generally accepted accounting principles in the United States, or &#8220;U.S. GAAP&#8221;, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and revenues and expenses during the reported period. We continually evaluate our estimates, including those related to revenue recognition, long-lived assets, and income taxes. We base our estimates on historical and current experiences and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Going Concern, Risks and Uncertainties -</i> For the fiscal years ended March 31, 2024 and 2023, we reported pre-tax losses of $5.1 million and $0.8 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of March 31, 2024, we had $0.6 million in total available liquidity, consisting of $0.1 million in cash and cash equivalents, and approximately $0.5 million in undrawn capacity under our revolver loan. As of March 31, 2023, we had $4.7 million in total available liquidity, consisting of $0.5 million in cash and cash equivalents, and $4.2 million in undrawn capacity under our revolver loan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is the borrower under a Loan Agreement which was amended on March 20, 2024 (as defined below; see Note 11 &#8211; <i style="font-style:italic;">Debt</i>). On that date, Ranor and certain affiliates of the Company entered into a Seventh Amendment to Amended and Restated Loan Agreement and Third Amendment to Second Amended and Restated Promissory Note, or the &#8220;Seventh Amendment&#8221;. In addition to extending the maturity date of the revolver loan to May 20, 2024, the Seventh Amendment limited the amount of proceeds borrowed to $2.0 million in the aggregate for due diligence and professional costs incurred prior to May 20, 2024 in connection with any potential acquisitions. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On May 28, 2024, Ranor and certain affiliates of the Company entered into the Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Eighth Amendment&#8221; (see Note 12 &#8211; <i style="font-style:italic;">Debt</i>). In addition to extending the maturity date of the revolver loan to August 30, 2024, the Eighth Amendment reduced the maximum principal amount from $5.0 million to $4.5 million and required that an operational assessment be performed, primarily at Stadco, by an </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">acceptable third-party consultant. The lender has acknowledged receipt of that operational assessment of Stadco as required pursuant to the Eighth Amendment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Ninth Amendment&#8221;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company acknowledges that a certain event of default has occurred and is continuing under the Loan Agreement as a result of the Company&#8217;s failure to satisfy the Debt Service Coverage Ratio, or DSCR, for the twelve-month period ending March 31, 2024. The lender reserves any and all rights and remedies available to it under the Loan Agreement, including, without limitation, its right to choose to accelerate and demand the outstanding indebtedness evidenced by the loan documents, and to seek immediate repayment in full.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">There was $7.6 million in total outstanding under the Loan Agreement on March 31, 2024. Without a waiver, the lender has the right, but not the obligation, to demand repayment from the Company for noncompliance with the debt covenants. In addition, the bank retains the right to act on covenant violations that occur after the date of delivery of any waiver. The lender has not granted us a waiver. As such, we need to seek alternative financing to pay these obligations as the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations. It is also probable that the Company will not be in compliance with the same debt covenants at subsequent measurement dates within the next twelve months. As a result of the above, all of our long-term debt has been classified as current in our consolidated balance sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is exploring various means of strengthening its liquidity position and ensuring compliance with its debt financing covenants by making Stadco operations profitable, renewing our revolver loan, or entering into alternative debt facilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On July 3, 2024, the Company entered into a Securities Purchase Agreement with certain accredited investors, pursuant to which the Company agreed to sell in a private placement at an aggregate purchase price of approximately $2.3 million, (i) 666,100 shares of the Company&#8217;s common stock, par value $0.0001 per share, and (ii) common stock purchase warrants to purchase up to 666,100 shares of Common Stock. The combined purchase price for one Share and one Purchaser Warrant was $3.45. The purpose of the Securities sale under the Purchase Agreement is to raise working capital for use by the Company. The closing of the offering occurred on July 8, 2024. (see Note 17 &#8211;<i style="font-style:italic;"> Subsequent Events</i>). Placement agent&#8217;s fees in connection with the offering totaled $126,014.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In order for us to continue operations beyond the next twelve months from the date of issuance of the financial statements and to be able to discharge our liabilities and commitments in the normal course of business, we must renew our revolver loan or seek alternative financing by August 30, 2024. We must mitigate our recurring operating losses at our Stadco subsidiary, efficiently increase utilization of our manufacturing capacity at Stadco and improve the manufacturing process. We plan to closely monitor our expenses and, if required, will reduce operating costs to enhance liquidity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The uncertainty associated with the recurring operating losses at Stadco, the revolver loan renewal, the need for alternative financing, and compliance with debt covenants at subsequent measurement dates raise substantial doubt about our ability to continue as a going concern for at least one-year after the date the consolidated financial statements included in this Annual Report on Form 10-K are issued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We believe our available cash, proceeds from a private placement offering, plus cash expected to be provided by operations and borrowing capacity available under the Revolver Loan (until August 2024 when the Company expects to renew), will be sufficient to fund our operations, expected capital expenditures, and principal and interest payments under our lease and debt obligations through the next 12 months from the issuance date of our financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The consolidated financial statements for the fiscal year ended March 31, 2024, were prepared on the basis of a going concern which contemplates that we will be able to realize assets and discharge liabilities in the normal course of business. Accordingly, they do not give effect to adjustments that would be necessary should we be required to liquidate assets. Our ability to satisfy our current liabilities and to continue as a going concern is dependent upon the Company&#8217;s compliance with the debt covenants, renewing the revolver loan, and its ability to grow revenue and reduce costs at Stadco. The consolidated financial statements do not include any adjustments that might result from the outcome of these uncertainties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Cash and cash equivalents -</i> Holdings of highly liquid investments with maturities of three months or less, when purchased, are considered to be cash equivalents. Our deposit and money market accounts are maintained in a large U.S. regional bank.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Accounts receivable and allowance for credit losses&#160;- </i>Accounts receivable are comprised of amounts billed and currently due from customers. Accounts receivables are amounts related to any unconditional right the Company has for receiving consideration and are presented as accounts receivables in the consolidated balance sheets. We maintain allowances for credit losses for estimated losses resulting from the inability of our customers to make required payments. Under the current expected credit loss model, we employ a roll-rate methodology, utilizing historical loss rates and historical trends in credit quality indicators (e.g., delinquency, risk ratings), adjusted to reflect current economic conditions and forecasts of future economic conditions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Management considers the following factors when determining the collectability of specific customer accounts: customer creditworthiness, past transaction history with the customer, current industry trends, and changes in customer payment terms. Our normal collection cycle ranges between thirty and forty days. Estimated uncollectible amounts are charged to earnings and a credit to a valuation allowance. Balances which remain outstanding after reasonable collection efforts are written off through a charge to the valuation allowance and a credit to accounts receivable. Historically, the level of uncollectible accounts has not been significant. An allowance for credit losses of $22,000 was recorded at March 31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Inventories&#160;- </i>Work-in-process and raw materials are stated at the lower of cost or net realizable value. Cost is determined by the first-in, first-out (FIFO) method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Contract Assets</i>&#160;- Contract assets represent the Company&#8217;s rights to consideration for work completed but not billed as of the reporting date when the right to payment is not just subject to the passage of time. The amount of contract assets recorded in the consolidated balance sheet reflects revenue recognized on contracts less associated advances and progress billings. These amounts are billed in accordance with the agreed-upon contract terms or upon achievement of contract milestones and recorded at net realizable value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Property, plant and equipment, net&#160;-</i> Property, plant and equipment are recorded at cost less accumulated depreciation and amortization. Depreciation and amortization are accounted for on the straight-line method based on estimated useful lives. The amortization of leasehold improvements is based on the shorter of the lease term or the useful life of the improvement. Betterments and large renewals, which extend the life of the asset, are capitalized whereas maintenance and repairs and small renewals are expensed as incurred. The estimated useful lives are machinery and equipment, 5-15&#160;years; buildings,&#160;30 years; and leasehold improvements, 2-5&#160;years. Upon sale or retirement of machinery and equipment, costs and related accumulated depreciation are eliminated, and gains or losses are recognized in the statement of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Interest is capitalized for assets that are constructed or otherwise produced for our own use, including assets constructed or produced for us by others for which deposits or progress payments have been made. Interest is capitalized to the date the assets are available and ready for use. When an asset is constructed in stages, interest is capitalized for each stage until it is available and ready for use. We use the interest rate incurred on funds borrowed specifically for the project. The capitalized interest is recorded as part of the asset to which it relates and is amortized over the asset&#8217;s estimated useful life.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In accordance with Accounting Standards Codification, or &#8220;ASC&#8221;, 360, <i style="font-style:italic;">Property, Plant&#160;&amp; Equipment</i>, our property, plant and equipment is tested for impairment when triggering events occur and, if impaired, written-down to fair value based on either discounted cash flows or appraised values. The carrying amount of an asset or asset group is not recoverable if it exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset or asset group.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Leases -</i> Right-of-use assets for operating leases are measured at the initial amount of the lease liability adjusted for lease payments made at or before the lease commencement date, plus any initial direct costs incurred less any lease incentives received. Right-of-use assets for operating leases are subsequently measured throughout the lease term at the carrying amount of the lease liability, plus initial direct costs, plus (minus) any prepaid (accrued) lease payments, less the unamortized balance of lease incentives received. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Operating lease liabilities are initially measured at the present value of the unpaid lease payments at the lease commencement date. We have one and two finance leases outstanding as of March 31, 2024 and 2023, respectively. See Note 14, <i style="font-style:italic;">Leases</i>, for additional information.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Debt Issuance Costs&#160;-</i> Costs incurred in connection with obtaining financing for long-term debt are capitalized and presented as a reduction of the carrying amount of the related debt. Costs incurred in connection with obtaining financing for revolving credit facilities and lines of credit are capitalized and presented as reduction of the carrying amount of the revolver loan. Loan acquisition costs are being amortized using the effective interest method over the term of the loan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Contract Liabilities</i>&#160;- Contract liabilities are comprised of advance payments, billings in excess of revenues, and deferred revenue amounts. Such advances are not generally considered a significant financing component because they are utilized to pay for contract </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">costs within a one-year period. Contract liability amounts are recognized as revenue once control over the underlying performance obligation has transferred to the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Fair Value Measurements&#160;-</i> We account for fair value of financial instruments in accordance with ASC 820,<i style="font-style:italic;"> Fair Value Measurement</i>, which defines fair value and establishes a framework to measure fair value and the related disclosures about fair value measurements. The fair value of a financial instrument is the amount that could be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. Financial assets are marked to bid prices and financial liabilities are marked to offer prices. Fair value measurements do not include transaction costs. The Financial Accounting Standards Board, or FASB, establishes a fair value hierarchy used to prioritize the quality and reliability of the information used to determine fair values. Categorization within the fair value hierarchy is based on the lowest level of input that is significant to the fair value measurement. The fair value hierarchy is defined into the following three categories: Level 1:&#160;Inputs based upon quoted market prices for identical assets or&#160;liabilities in active markets at the measurement date; Level 2:&#160;Observable inputs other than quoted prices included in Level 1, such as quoted prices for similar assets and liabilities in active markets; quoted prices for identical or similar assets and liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data; and Level 3: Inputs that are management&#8217;s best estimate of what market participants would use in pricing the asset or liability at the measurement date.&#160;The inputs are unobservable in the market and significant to the instruments&#8217; valuation. In addition, we will measure fair value in an inactive or dislocated market based on facts and circumstances and significant management judgment. We will use inputs based on management estimates or assumptions or adjust observable inputs to determine fair value when markets are not active and relevant observable inputs are not available.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">ASC 825,<i style="font-style:italic;"> Financial Instruments</i>, requires disclosures about the fair value of financial instruments. The carrying amount of cash and cash equivalents, accounts receivable, accounts payable, and accrued expenses, as presented in the balance sheet, approximates fair value due to the short-term nature of these instruments. The carrying value of short and long-term borrowings approximates their fair value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Revenue Recognition</i>&#160;- The Company accounts for revenue under Accounting Standards Update, or &#8220;ASU&#8221;, 2014-09, <i style="font-style:italic;">Revenue from Contracts with Customers (Topic 606), </i>or &#8220;ASC 606&#8221;, and related amendments<i style="font-style:italic;">.</i> ASC 606 sets forth five steps for revenue recognition: identification of the contract, identification of any separate performance obligations in the contracts, determination of the transaction price, allocation of the transaction price to separate performance obligations, and revenue recognition when performance obligations are satisfied.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue over time based on the transfer of control of the promised goods or services to the customer. This transfer occurs over time when the Company has an enforceable right to payment for performance completed to date, and our performance does not create an asset that has an alternative use to the Company. Otherwise, control to the promised goods or services transfers to customers at a point in time. Our customers make advance payments and progress payments under the terms of each manufacturing contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The majority of the Company&#8217;s contracts have a single performance obligation and provide title to, or grant a security interest in, work-in-process to the customer. In addition, these contracts contain enforceable rights to payment, allowing the Company to recover both its cost and a reasonable margin on performance completed to date. The combination of these factors indicates that the customer controls the asset and revenue is recognized as the asset is created or enhanced. The Company measures progress for performance obligations satisfied over time using input methods (e.g., costs incurred, resources consumed, labor hours expended, and time elapsed).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Under arrangements where the customer does not have title to, or a security interest in, the work-in-process, our evaluation of whether revenue should be recognized over time requires significant judgment about whether the asset has an alternative use and whether the entity has an enforceable right to payment for performance completed to date. When one or both of these factors is not present, the Company will recognize revenue at the point in time where control over the promised good or service transfers to the customer, i.e. when the customer has taken physical possession of the product the Company has built for the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company and its customers may occasionally enter into contract modifications, including change orders. The Company may account for the modification as a separate contract, the termination of an old contract and creation of a new contract, or as part of the original contract, depending on the nature and pricing of the goods or services included in the modification. In general, contract modifications&#160;- as well as other changes in estimates of sales, costs, and profits on a performance obligation&#160;- are recognized using the cumulative catch-up method of accounting. This method recognizes in the current period the cumulative effect of the changes in current and prior periods. A significant change in an estimate on one or more contracts in a period could have a material effect on the consolidated balance sheet or results of operations for that period. For the fiscal&#160;year ended March&#160;31, 2024 and 2023, net cumulative catch-up adjustments were </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">not material. No individual adjustment was material to the Company&#8217;s consolidated statements of operations loss for the fiscal&#160;year ended March&#160;31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">If incentives and other contingencies are provided as part of the contract, the Company will include in the initial transaction price the consideration to which it expects to be entitled under the terms and conditions of the contract, generally estimated using an expected value or most likely amount approach. In the context of variable consideration, the Company limits, or constrains, the transaction price to amounts for which the Company believes a significant reversal of revenue is not probable. Adjustments to constrain the transaction price may be due to a portion of the transaction price being more than approved funding, a lack of history with the customer, a lack of history with the goods or services being provided, or other items.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Shipping and handling fees and costs incurred in connection with products sold are recorded in cost of sales in the consolidated statements of operations and are not considered a performance obligation to our customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Contract Estimates</i>&#160;- In estimating contract costs, the Company takes into consideration a number of assumptions and estimates regarding risks related to technical requirements and scheduling. Management performs periodic reviews of the contracts to evaluate the underlying risks. Profit margin on any given project could increase if the Company is able to mitigate and retire such risks. Conversely, if the Company is not able to properly manage these risks, cost estimates may increase, resulting in a lower profit margin, or potentially, contract losses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The cost estimation process requires significant judgment and is based upon the professional knowledge and experience of the Company&#8217;s engineers, program managers, and financial professionals. Factors considered in estimating the work to be completed and ultimate contract recovery include the availability, productivity, and cost of labor, the nature and complexity of the work to be performed, the effect of change orders, the availability of materials, the effect of any delays in performance, the availability and timing of funding from the customer, and the recoverability of any claims included in the estimates to complete. Costs allocable to undelivered units are reported as work in process, a component of inventory, in the consolidated balance sheet. Pre-contract fulfillment costs requiring capitalization are not material.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Selling, general and administrative</i>&#160;- Selling, general and administrative, or &#8220;SG&amp;A&#8221;, expenses include items such as executive compensation and benefits, professional fees, business travel and office costs. Advertising costs are nominal and expensed as incurred. Other general and administrative expenses include items for our administrative functions and include costs for items such as office supplies, insurance, legal, accounting, telephone, and other outside services. SG&amp;A consisted of the following for the fiscal&#160;years ended March&#160;31:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Salaries and related expenses</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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,342,316</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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,823,979</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Professional fees</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,721,487</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,795,904</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other general and administrative</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,719,615</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,388,998</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Due diligence advisory and legal fees related to acquisition termination</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,850,158</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock based acquisition termination fee</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,116,800</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total Selling, general and administrative</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,750,376</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,008,881</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Stock-based Compensation&#160;-</i> Stock-based compensation represents the cost related to stock-based awards granted to our board of directors, employees, and consultants. We measure stock-based compensation cost at the grant date based on the estimated fair value of the award and recognize the cost as expense on a straight-line basis over the requisite service period. We estimate the fair value of stock options using a Black-Scholes valuation model. Stock-based compensation included in selling, general and administrative expense amounted to $284,925 and $253,079 for the fiscal years ended March 31, 2024 and 2023, respectively. See Note 7 for additional disclosures related to stock-based compensation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Net Loss per Share of Common Stock - </i>Basic net loss per common share is computed by dividing net loss income by the weighted average number of shares outstanding during the year. Diluted net loss income per common share is calculated using net loss divided by diluted weighted-average shares. Diluted weighted-average shares include weighted-average shares outstanding plus the dilutive effect of stock options calculated using the treasury stock method. See Note 6 for additional disclosures related to net loss per share.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Income Taxes&#160;-</i> In accordance with ASC&#160;740, <i style="font-style:italic;">Income Taxes</i>, income taxes are accounted for under the asset and liability method<i style="font-style:italic;">.</i> Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the&#160;years in which those temporary differences and carryforwards are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;">Valuation allowances are recorded to reduce deferred tax assets when it is more likely than not that a tax benefit will not be realized. We recognize the effect of income tax positions only if those positions are more likely than not to be sustained. Recognized income tax positions are measured at the largest amount that is greater than 50% likely of being realized. Changes in recognition or measurement are reflected in the period in which the change in judgment occurs.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;">We recognize interest and penalties accrued related to income tax liabilities in selling, general and administrative expense in our Consolidated Statements of Operations.</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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting 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> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="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>27
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441824565568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCOUNTING STANDARDS UPDATE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract', window );"><strong>ACCOUNTING STANDARDS UPDATE</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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">ACCOUNTING STANDARDS UPDATE</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">NOTE 3 &#8211; ACCOUNTING STANDARDS UPDATE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">New Accounting Standards Recently Adopted</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In June 2016, the Financial Accounting Standards Board, or &#8220;FASB&#8221;, issued ASU 2016-13, <i style="font-style:italic;">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</i>, as amended subsequently by ASUs 2018-19, 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The guidance in these ASUs requires that credit losses be reported using an expected losses model rather than the incurred losses model that is currently used. The standard also establishes additional disclosures related to credit risks. This standard was effective for fiscal years beginning after December 15, 2022. The adoption of this ASU on April 1, 2023, did not have a significant impact on the Company&#8217;s consolidated financial statements and disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">New Accounting Standards Not Yet Adopted</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In December 2023, the FASB issued ASU 2023-09<i style="font-style:italic;">,</i> <i style="font-style:italic;">Income Taxes</i> <i style="font-style:italic;">(Topic 740):</i> <i style="font-style:italic;">Improvements to Income Tax Disclosures</i>. The amendments in ASU 2023-09 address investor requests for more transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. This standard update is effective for annual reporting periods beginning after December 15, 2024. The Company is currently evaluating this update to determine the impact it may have on its consolidated financial statements and disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In November 2023, the FASB issued ASU 2023-07, <i style="font-style:italic;">Segment Reporting &#8211; Improvements to Reportable Segment Disclosures</i>. The guidance in this update enhances segment reporting by expanding the breadth and frequency of segment disclosures required for public entities and allows registrants to disclose multiple measures of segment profit or loss. This update requires a public entity to disclose its significant segment expense categories and amounts for each reportable segment. A significant segment expense is any significant expense incurred by the segment, including direct expenses, shared expenses, allocated corporate overhead, or interest expense that is regularly reported to the Chief Operating Decision Maker, or CODM, and is included in the measure of segment profit or loss. This standard update is effective for fiscal years beginning after December 15, 2023, and interim periods in fiscal years beginning after December 15, 2024. The Company is currently evaluating this update to determine the impact it may have on its consolidated financial statements and disclosures.</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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract</td>
</tr>
<tr>
<td style="padding-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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.</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 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476173/280-10-65-1<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 1<br> -Subparagraph (b)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-7<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 5: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 9: 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 (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-1<br><br>Reference 11: 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 12: 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 13: 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)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<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 (g)(2)(iv)<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 (h)(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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 11.M.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480530/250-10-S99-5<br><br>Reference 17: 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)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 18: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 19: 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 (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 20: 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 (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<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/2147483194/926-20-65-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<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/2147483194/926-20-65-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483194/926-20-65-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480530/250-10-S99-6<br><br>Reference 25: 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 (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 26: 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)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 250<br> -Publisher FASB<br> -URI https://asc.fasb.org/250/tableOfContent<br><br>Reference 28: 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)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="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>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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741336720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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>REVENUE</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 );">REVENUE</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;4&#160;&#8211; REVENUE</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company generates revenue primarily from performance obligations completed under contracts with customers in two main market sectors: defense and precision industrial. The period over which the Company performs its obligations can be between <span style="-sec-ix-hidden:Hidden_1sVous34DUSzD1snjPTZvg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> and <span style="-sec-ix-hidden:Hidden_FkHvfCt8KUec6QpcTBke7Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">thirty -six months</span></span>. The Company invoices and receives related payments based upon performance progress not less frequently than&#160;monthly.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Revenue is recognized over-time or at a point-in-time given the terms and conditions of the related contracts. The Company utilizes an inputs methodology based on estimated labor hours to measure performance progress. This model best depicts the transfer of control to the customer. The Company&#8217;s contract portfolio is comprised of fixed-price contracts and provide for product type sales only. The following table presents net sales on a disaggregated basis by market and contract type:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:62.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;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;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.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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.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;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.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;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.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;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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net Sales by market</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Defense</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended March 31, 2024</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,405,569</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 185,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,591,059</p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,935,138</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 496,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,431,614</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.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;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;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.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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.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;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.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;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.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;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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net Sales by contract type</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Over-time</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Point-in-time</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended March 31, 2024</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;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,412,981</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;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,178,078</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,591,059</p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,785,799</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,645,815</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,431,614</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of March&#160;31, 2024, the Company had $50.0 million of remaining performance obligations, of which $41.4 million was less than 50% complete. The Company expects to recognize all its remaining performance obligations as revenue within the next <span style="-sec-ix-hidden:Hidden_nj5CQYlOek-k-FS5J1V5jQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">thirty-six&#160;months</span></span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We are dependent each&#160;year on a small number of customers who generate a significant portion of our business, and these customers change from&#160;year to&#160;year. The following table sets forth revenues from customers who accounted for more than 10% of our net sales for the fiscal&#160;years ended March 31:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:58.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td 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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td 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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,050,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,352,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,257,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> *</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> *</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,779,592</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,830,958</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,248,773</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,319,827</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,838,734</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</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:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">*</i><i style="font-style:italic;">Less than 10% of total</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In our consolidated balance sheet, contract assets and contract liabilities are reported in a net position on a contract-by-contract basis at the end of each reporting period. Contract assets consist of the following at:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:62.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Progress</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contract assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unbilled</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Payments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,254,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,727,786)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,526,726</p></td></tr><tr><td style="vertical-align:bottom;width:62.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,485,914</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,538,103)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,947,811</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="font-weight:normal;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In fiscal 2024 and 2023, we recognized revenue of $1.2 million and $1.8 million related to our contract liabilities at April&#160;1, 2023 and 2022, respectively. Contract liabilities consist of the following at:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size: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:62.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contract liabilities</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;text-align:center;margin:0pt 0pt 0.05pt 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.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Deferred&#160;revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer&#160;Deposits</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2024</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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,103,567</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,684,366</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,787,933</p></td></tr><tr><td style="vertical-align:bottom;width:62.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,195,298</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,138,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,333,591</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;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_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>29
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739675520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;5&#160;&#8211; INCOME TAXES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We account for income taxes under ASC 740, <i style="font-style:italic;">Income Taxes</i>. The following table reflects income and loss from continuing operations by location, and the provision for income taxes for the applicable fiscal&#160;years ended March&#160;31:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:70%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Loss before income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5,109,945)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (783,422)</p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,932,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 195,584</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,042,172)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (979,006)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The components of the income tax provision consist of the following for the fiscal years ended March 31:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:70%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,041</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total Current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,041</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,087,627</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (261,372)</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (156,441)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 456,956</p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total Deferred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,931,186</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 195,584</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income tax expense (benefit) </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,932,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 195,584</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our fiscal 2024 and 2023 taxes were measured at the U.S. statutory income tax rate of 21%. A reconciliation between income taxes computed at the U.S. federal statutory rate to the actual tax expense for income taxes reported in the Consolidated Statements of Operations follows for fiscal years ended March 31:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:70.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 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.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">U.S. statutory income tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,073,088)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (164,519)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">State income tax, net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (164,433)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (151,878)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Nondeductible items related to business combination and dissolved foreign entity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 65,482</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Change in state NOLs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 239,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,141,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 216,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (20,983)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,160</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,932,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 195,584</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effective tax rate*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</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:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Effective tax rate is calculated by dividing the income tax provision by loss before income taxes.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table summarizes the components of deferred income tax assets and liabilities at March 31:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net operating loss carryforward</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,302,402</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,839,915</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 142,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 213,308</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock based compensation awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,525</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 242,579</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,195,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other items not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 536,664</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 126,792</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,184,714</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,422,594</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5,311,680)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,170,094)</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,873,034</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,252,500</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,562,744)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,971,644)</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,157,079)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract accounting methods </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (153,211)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (349,670)</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,873,034)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,321,314)</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred taxes, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,931,186</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">At December 31, 2023, the Company identified a need to increase the tax valuation allowance based on cumulative operating losses in recent years. Following an evaluation, we determined, however, that the required adjustments, recorded in the fourth quarter, were not material for the period ended December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In assessing the recoverability of deferred tax assets, we consider whether it is more likely than not that some portion or all of the deferred tax assets will not be realized. We have determined that it is more likely than not that certain future tax benefits may not be </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">realized. The assessment was based on the weight of negative evidence at the balance sheet date, our recent operating losses and unsettled circumstances that, if unfavorably resolved, would adversely affect future operations and profit levels. Accordingly, a valuation allowance has been recorded against deferred tax assets that are unlikely to be realized. Realization of deferred tax assets will depend on the generation of sufficient taxable income in the appropriate jurisdictions, the reversal of deferred tax liabilities, tax planning strategies and other factors prior to the expiration date of the carryforwards. A change in the estimates used to make this determination could require an increase or a reduction the valuation allowance currently recorded against those deferred tax assets. The valuation allowance on deferred tax assets was approximately $5.3 million at March 31, 2024. We believe that it is more likely than not that the benefit from certain NOL carryforwards and other deferred tax assets will not be realized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">At March 31, 2024 we had federal net operating losses of $19.3 million which begin to expire in 2026. The Internal Revenue Code provides for a limitation on the annual use of net operating loss carryforwards following certain ownership changes that could limit our ability to utilize these carryforwards on a yearly basis. Also, U.S. tax laws may limit the time during which these loss carryforwards may be applied against future taxes. As such, certain pre-2021 Stadco net operating loss carryforwards available for TechPrecision&#8217;s consolidated tax group may be limited. Our remaining pre-2021 net operating losses total approximately $9.9 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We have not accrued any penalties with respect to uncertain tax positions. We file income tax returns in the U.S. federal jurisdiction and various U.S. state jurisdictions. Tax years 2021 and forward remain open for examination.</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 tax.</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><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<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 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 5: 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/2147477891/740-270-50-1<br><br>Reference 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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>30
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741929920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CAPITAL STOCK and EARNINGS PER SHARE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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>CAPITAL STOCK and EARNINGS 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 );">CAPITAL STOCK and EARNINGS PER SHARE</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;6&#160;&#8211; CAPITAL STOCK and EARNINGS PER SHARE</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Reverse Stock Split</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On February 23, 2023, the Company effected a <span style="-sec-ix-hidden:Hidden_lpmwKBw8EUC6iReXMuMNUQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span>-for-four reverse stock split of its common stock, which was effective for trading purposes as of the commencement of trading on February 24, 2023. The reverse stock split was approved by the Company&#8217;s stockholders on September 14, 2022, at the Company&#8217;s regular annual meeting of stockholders, with authorization to determine the final ratio having been granted to the Company&#8217;s Board of Directors. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">All share and per-share amounts have been affected retroactively for all years presented in our financial statements and notes thereto.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The reverse stock split was primarily intended to prepare for the potential listing of the Company&#8217;s common stock on the Nasdaq Capital Market. The Company simultaneously affected a reduction in the number of authorized shares of common stock from 90,000,000 to 50,000,000.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Common Stock</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We had 50,000,000 authorized shares of common stock at March&#160;31, 2024 and 2023, respectively.&#160;There were 8,777,432 and 8,613,408 shares of common stock outstanding at March&#160;31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Preferred Stock</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have 10,000,000 authorized shares of preferred stock and our board of directors has broad power to create one or more series of preferred stock and to designate the rights, preferences, privileges, and limitations of the holders of such series. There were no shares of preferred stock outstanding at March&#160;31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Earnings per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">All earnings per share amounts included in this annual report on Form 10-K are presented as if the one-for-four reverse stock split had been effective April 1, 2022. Basic EPS is computed by dividing reported earnings available to stockholders by the weighted average shares outstanding. Diluted EPS also includes the effect of stock options that would be dilutive. The following table provides a reconciliation of the numerators and denominators reflected in the basic and diluted earnings per share computations, as required under FASB ASC 260.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Basic EPS</i></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,042,172)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (979,006)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,717,160</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,595,992</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss per share</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.81)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.11)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Diluted EPS</i></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,042,172)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (979,006)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dilutive effect of stock options</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,717,160</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,595,992</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss per share</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.81)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.11)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:97.5pt;"></span><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">All potential common stock equivalents that have an anti-dilutive effect (i.e., those that increase income per share or decrease loss per share) are excluded from the calculation of diluted EPS due to net loss for both periods. For the fiscal years ended March 31, 2024, and 2023, there were potential anti-dilutive stock options and warrants of 542,500 and 25,000, and 680,000 and 25,000, respectively, none of which were included in the EPS calculations above.</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_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>31
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741321088">
<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">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;7&#160;&#8211; STOCK-BASED COMPENSATION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our board of directors, upon the recommendation of the compensation committee of our board of directors, approved the 2016 TechPrecision Equity Incentive Plan, or the &#8220;2016 Plan&#8221;, on November 10, 2016. Our stockholders approved the 2016 Plan at the Company&#8217;s Annual Meeting of Stockholders on December 8, 2016. The 2016 Plan succeeds the 2006 Plan (as defined below) and applies to awards granted after the 2016 Plan&#8217;s adoption by the Company&#8217;s stockholders. We have designed the 2016 Plan to reflect our commitment to having best practices in both compensation and corporate governance. Following the February 2023 reverse stock split, the 2016 Plan now provides for a share reserve of 1,250,000 shares of common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The 2016 Plan authorizes the award of incentive and non-qualified stock options, restricted and unrestricted stock awards, restricted stock units, and performance awards to employees, directors, consultants, and other individuals who provide services to TechPrecision or its affiliates. The purpose of the 2016 Plan is to enable TechPrecision and its affiliated companies to recruit and retain highly qualified employees, directors, and consultants; and to provide those employees, directors, and consultants with an incentive for productivity, and an opportunity to share in the growth and value of the Company. Subject to adjustment as provided in the 2016 Plan, the maximum number of shares of common stock that may be issued with respect to awards under the 2016 Plan is 1,250,000 shares (inclusive of awards issued under the 2006 Long-Term Incentive Plan, or the &#8220;2006 Plan&#8221;, that remained outstanding as of the effective date of the 2016 Plan). Shares of our common stock subject to awards that expire unexercised or are otherwise forfeited shall again be available for awards under the 2016 Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The fair value of the options we grant is estimated using the Black-Scholes option-pricing model based on the closing stock prices at the grant date and the weighted average assumptions specific to the underlying options. Expected volatility assumptions are based on the historical volatility of our common stock. The average dividend yield over the historical period for which volatility was computed is zero. The risk-free interest rate was selected based upon yields of five-year U.S. Treasury issues. We used the simplified method for all grants to estimate the expected life of the option. We assume that stock options will be exercised evenly over the period from vesting until the awards expire. We account for award forfeitures as they occur. As such, the assumed period for each vesting tranche is computed separately and then averaged together to determine the expected term for the award. On March 31, 2024, there were 257,500 shares available for grant under the 2016 Plan. The following table summarizes information about options granted during the two most recently completed fiscal years:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:57.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;Of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual&#160;Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td 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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(in&#160;years)</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at March 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 667,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,597,700</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.66</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Canceled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 667,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,804,625</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.70</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (125,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.68</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 846,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,128,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.93</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested or expected to vest at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,128,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.93</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable and vested at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,128,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.93</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The aggregate intrinsic value in the table above represents the total pre-tax intrinsic value (the difference between the closing stock price and the exercise price multiplied by the number of in-the-money options on the measurement date) that would have been received by the option holders had all option holders exercised their options on March 31, 2024 and 2023. This amount changes based on the fair value of the Company&#8217;s common stock. At March 31, 2024, there was no remaining unrecognized compensation cost related to stock options. The maximum contractual term is ten years for option grants. Other information relating to stock options outstanding at March 31, 2024 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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;white-space:nowrap;width:51.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 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:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Range of Exercise Prices:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Outstanding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Exercisable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$0.01-$0.99</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 192,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.36</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 192,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.32</p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$2.00-$2.99</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 350,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 350,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.19</p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Common Stock Awards</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On September 15, 2022, we granted each non-employee director 6,250 shares of common stock for a total of 25,000 shares of common stock in the aggregate, of fully vested stock awards under the Plan in recognition of such directors&#8217; service and in lieu of the annual grant to purchase Company common stock previously approved by the Board as annual director compensation. The fair value of the award was $144,000 based on the closing market price of the Company&#8217;s common stock on the grant date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On January 2, 2024, we granted 15,000 shares of the Company&#8217;s common stock pursuant to the 2016 Plan to the Company&#8217;s former CFO in connection with his consulting services agreement, which shares were fully vested on the grant date. The stock-based compensation expense of $79,500 was measured at fair value on the date of grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Restricted Stock Awards</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our board authorizes the issuance of restricted stock as service-based awards measured at fair value on the date of grant based on the number of shares expected to vest and the quoted market price of the Company&#8217;s common stock. The shares of restricted stock fully vested and ceased to be subject to forfeiture one year from the grant date. Each grantee is required to have been serving as a director on the vesting date and must have been continuously serving in such capacity from the grant date through the vesting date for the shares of restricted stock to vest. Prior to the vesting date, the grantee is not permitted to sell, transfer, pledge, assign or otherwise encumber the </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">shares of restricted stock and if the grantee&#8217;s service with the Company has terminated prior to the vesting date, subject to certain exceptions, the grantee&#8217;s restricted stock is to have been forfeited automatically.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 3, 2023 the Company issued 15,000 shares of restricted common stock to the Company&#8217;s new CFO. Under the terms of the employment agreement, provided employment with the Company continues from the grant date through the applicable vesting dates, 5,000 shares of the restricted stock will vest on each of the first, second, and third anniversaries of the effective employment date of July 17, 2023. Fair value of $110,700 was measured on the date of grant based on the number of shares expected to vest and the quoted market price of the Company&#8217;s common stock. Stock-based compensation expense will be recognized ratably over the vesting period. Total recognized compensation cost related to this award for the fiscal year ended March 31, 2024 was $27,675. On March 31, 2024, there was $83,025 of remaining unrecognized compensation cost related to this award which is expected to be recognized over the next three years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On October 11, 2023, we granted a total of 25,000 shares of restricted common stock under the 2016 Plan to the board of directors. The stock-based compensation expense of $177,750 was measured at fair value on the date of grant based on the number of shares expected to vest and the quoted market price of the Company&#8217;s common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Total recognized compensation cost related to restricted stock awards for the fiscal year ended March 31, 2024 and 2023 was $284,925 and $109,079, respectively.</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>32
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741336720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONCENTRATION OF RISK<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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>CONCENTRATION OF RISK</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 );">CONCENTRATION OF RISK</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;8&#160;- CONCENTRATION OF RISK</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We maintain bank account balances, which, at times, may exceed insured limits. We have not experienced any losses with these accounts and believe that we are not exposed to any significant credit risk on cash.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In the fiscal years ended March 31, 2024 and 2023, one supplier accounted for 20% and 34%, respectively, of our purchased material.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On&#160;March&#160;31, 2024, there were trade accounts receivable balances outstanding from two customers comprising 58% of the total trade receivables balance. The following table sets forth information as to trade accounts receivable from customers who accounted for more than 10% of our accounts receivable balance as of:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:59.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dollars</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dollars</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 940,279</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 730,514</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 260,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 423,198</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 265,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</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:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><i style="font-style:italic;font-weight:normal;">*</i><i style="font-style:italic;font-weight:normal;">less than 10% of total</i></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>33
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741962848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>OTHER CURRENT ASSETS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_PrepaidExpenseAndOtherAssetsCurrentAbstract', window );"><strong>OTHER CURRENT 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_OtherCurrentAssetsTextBlock', window );">OTHER CURRENT ASSETS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;9&#160;- OTHER CURRENT ASSETS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:71.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Other current assets included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid insurance</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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 336,578</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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 162,075</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid subscriptions</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 119,983</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 120,570</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid taxes</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,266</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,616</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Supplier advances</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,142</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deposits</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,800</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,706</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee advances</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,978</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,561</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid advisory fees, other</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,941</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,455</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 563,688</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 348,983</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="font-size:1pt;font-weight:normal;margin-bottom:12pt;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_OtherCurrentAssetsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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_OtherCurrentAssetsTextBlock</td>
</tr>
<tr>
<td style="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_PrepaidExpenseAndOtherAssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PrepaidExpenseAndOtherAssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-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>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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441742085472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, PLANT AND EQUIPMENT, NET<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_PropertyPlantAndEquipmentAbstract', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</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_PropertyPlantAndEquipmentDisclosureTextBlock', window );">PROPERTY, PLANT AND EQUIPMENT, NET</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;10&#160;- PROPERTY, PLANT AND EQUIPMENT, NET</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:71.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;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;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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Property, plant and equipment, net consisted of the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 110,113</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 110,113</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Building and improvements</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,293,986</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,293,986</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery equipment, furniture, and fixtures</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,590,644</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,018,713</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction-in-progress</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 148,606</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 149,576</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant, and equipment</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,143,349</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,572,388</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,345,358)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,658,364)</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant and equipment, net</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,797,991</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,914,024</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In fiscal 2024 and 2023, we recorded depreciation expense of $1,746,103 and $1,557,910, respectively, in our cost of goods sold. We also recorded machinery and equipment disposals with a book value of $22,815. We also received $61,944 of proceeds from an insurance settlement related to certain fixed asset disposals abandoned by theft at our Stadco plant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We capitalize interest on borrowings during active construction period for major capital projects. Capitalized interest is added to the cost of the underlying assets and is amortized over the useful lives of the assets. Capitalized interest for the years ended March 31, 2024 and 2023 were $18,642 and $14,297, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In September 2023, the Company signed an agreement to make additional equipment upgrades for a certain customer. We recognize new purchases as a fixed asset and billings for reimbursement from the customer as a contra-asset. Future depreciation of the asset will be offset directly by the amortization of the contra-asset on a net basis in the statement of operations. The amortization period will match the schedule of depreciation set forth under the fixed asset ledger.</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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</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 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-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_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>35
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441740012336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCRUED EXPENSES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_PayablesAndAccrualsAbstract', window );"><strong>ACCRUED EXPENSES</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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">ACCRUED EXPENSES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;11&#160;- ACCRUED 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;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Accrued expenses included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued compensation</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,172,262</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,257,245</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for claims </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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 516,972</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 256,227</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for contract losses</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 293,324</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,954</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued professional fees</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 458,636</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 241,195</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued project costs</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 560,428</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 440,550</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued breakup fee</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,116,800</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 144,064</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 235,014</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,262,486</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,533,185</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Accrued compensation includes amounts for executive bonuses, payroll and vacation and holiday pay. Provisions for estimated losses on uncompleted contracts are made in the period in which such losses are determined. Changes in the provision are recorded in cost of sales. Accrued project costs are estimates for certain project expenses during the reporting period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Due to a change in certain conditions and events, it became probable that on March 31, 2024, the Company would not be able to close on the acquisition of Votaw Technologies (see Note 17 - <i style="font-style:italic;">Subsequent Events</i>), pursuant to a Stock Purchase Agreement. As such, the Company accrued $1.1 million on March 31, 2024, for the stock termination fee as set forth under the terms and conditions of the agreement.</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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accounts payable and accrued liabilities at the end of the reporting 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<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><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(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 720<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483384/720-30-45-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(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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-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>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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441743503568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEBT<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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>DEBT</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 );">DEBT</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;12&#160;&#8211; DEBT</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:71.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Long-term debt included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stadco Term Loan, at 3.79% interest, due August 2028</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,647,275</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,186,495</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ranor Term Loan, at 6.05% interest, due December 2027</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,215,643</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,276,518</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ranor Revolver Loan, at 7.69% interest, due August 2024</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,785,000</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 650,000</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total debt</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,647,918</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,113,013</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: debt issue costs unamortized</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 89,235</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 145,712</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total debt, net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,558,683</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,967,301</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: Current portion of long-term debt</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,558,683</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,218,162</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total long-term debt, net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,749,139</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Amended and Restated Loan Agreement</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">On August 25, 2021, the Company entered into an amended and restated loan agreement with Berkshire Bank, or the &#8220;Loan Agreement&#8221;. Under the Loan Agreement, Berkshire Bank will continue to provide the Ranor Term Loan (as defined below) and the revolving line of credit, or the Revolver Loan. In addition, Berkshire Bank provided the Stadco Term Loan (as defined below) in the original amount of $4.0 million. The proceeds of the original Ranor Term Loan of $2.85 million were previously used to refinance existing mortgage debt of Ranor. The proceeds of the Revolver Loan are used for working capital and general corporate purposes of the Company. The proceeds of the Stadco Term Loan were to be used to support the acquisition of Stadco and refinance existing indebtedness of Stadco.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Stadco Term Loan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 25, 2021, Stadco borrowed $4.0&#160;million from Berkshire Bank, or the &#8220;Stadco Term Loan&#8221;. Interest on the Stadco Term Loan is due on unpaid balances at a fixed rate per annum equal to the&#160;7-year&#160;Federal Home Loan Bank of Boston Classic <span style="-sec-ix-hidden:Hidden_H1Ocu3HIa0-swMnW6HtfhQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Advance</span></span> Rate plus&#160;2.25%. Since September 25, 2021 and on the 25th day of each month thereafter, Stadco had made and will make monthly payments of principal and interest in the amount of $54,390&#160;each, with all outstanding principal and accrued interest due and payable on August 25, 2028. Interest shall be calculated based on actual days elapsed and a 360-day year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company shall pay a late charge in the amount of&#160;5% of each payment due under the Stadco Term Loan (other than the balloon payment due at maturity) which is more than ten days in arrears. In addition, from and after the date on which the Stadco Term Loan becomes due, or at Berkshire Bank&#8217;s option, could become due and payable (whether accelerated or not), at maturity, upon default or otherwise, interest shall accrue and shall be immediately due and payable at the default rate equal to&#160;5% per annum greater than the interest rate otherwise in effect, but in no event higher than the maximum interest rate permitted by law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Unamortized debt issue costs on March 31, 2024 and 2023 were $30,007 and $44,482, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Ranor Term Loan and Revolver Loan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">A term loan was made to Ranor by Berkshire Bank in 2016 in the amount of $2.85 million, or the &#8220;Ranor Term Loan&#8221;. Payments began on January 20, 2017, and were made in monthly installments of $19,260 each, inclusive of interest at a fixed rate of 5.21% per annum, with all outstanding principal and accrued interest due and payable on the original maturity date, December 20, 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Since December 20, 2021, Ranor and certain affiliates of the Company entered into four separate amendments to the Amended and Restated Loan Agreement and First Amendment to Promissory Note to extend the maturity date of the Ranor Term Loan from December 20, 2021 to December 15, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On December 23, 2022, Ranor and certain affiliates of the Company entered into a Fifth Amendment to Amended and Restated Loan Agreement, Fifth Amendment to Promissory Note and First Amendment to Second Amended and Restated Promissory Note, or the &#8220;Amendment&#8221;. Effective as of December 20, 2022, the Amendment, among other things (i) extended the maturity date of the Ranor Term Loan to December 15, 2027, (ii) extended the maturity date of the Revolver Loan from December 20, 2022 to December 20, 2023, (iii) increases the interest rate on the Ranor Term Loan from 5.21% to 6.05% per annum, (iv) decreases the monthly payment on the Ranor Term Loan from $19,260 to $16,601, (v) replaces LIBOR as an option for the benchmark interest rate for the Revolver Loan with SOFR, (vi) replaces LIBOR-based interest pricing conventions with SOFR-based pricing conventions, including benchmark replacement provisions, and (vii) solely with respect to the fiscal quarter ending December 31, 2022, lowers the debt service coverage ratio from at least 1.2 to 1.0 to 1.1 to 1.0.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On December 20, 2023, Ranor and certain affiliates of the Company entered into a Sixth Amendment to Amended and Restated Loan Agreement and Second Amendment to Second Amended and Restated Promissory Note, or the &#8220;Sixth Amendment&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Effective December 20, 2023, the Sixth Amendment, among other things (i) extended the maturity date of the Revolver Loan from December 20, 2023 to March 20, 2024; (ii) limited the use of proceeds from the Revolver Loan by the Company or its affiliates to $1,000,000 in the aggregate for due diligence and related professional costs incurred on or prior to March 20, 2024 in connection with any acquisitions; and (iii) makes certain changes to the amount and methods of valuation of equipment securing repayment of the borrowed funds.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On March 20, 2024, Ranor and certain affiliates of the Company entered into a Seventh Amendment to Amended and Restated Loan Agreement and Third Amendment to Second Amended and Restated Promissory Note, or the &#8220;Seventh Amendment&#8221;. Effective March&#160;20, 2024, the Seventh Amendment, among other things (i) extended the maturity date of the Revolver Loan from March 20, 2024 to May 20, 2024; (ii) limited the use of proceeds from the Revolver Loan by the Company or its affiliates to $2,000,000 in the aggregate for due diligence and related professional costs incurred on or prior to May 10, 2024 in connection with any acquisitions; and (iii) makes certain changes to the amount and methods of valuation of equipment securing repayment of the borrowed funds. Through May 20, 2024, Ranor utilized a revolving line of credit with, following certain modifications, a maximum principal amount available of $5.0 million. Advances under the Revolver Loan are subject to a borrowing base equal to the lesser of (a) $5.0 million or (b) the sum of (i)80% of the net outstanding amount of Base Accounts, plus (ii) the lesser of (x) 25% of Eligible Raw Material Inventory, and (y) $250,000, plus (iii) 80% of the Appraised Value of the Eligible Equipment, as such terms are defined in the Loan Agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company agrees to pay to Berkshire Bank, as consideration for Berkshire Bank&#8217;s agreement to make the Revolver Loan available, a nonrefundable Revolver Loan fee equal to 0.25% per annum (computed based on a year of 360 days and actual days elapsed) on the difference between the amount of: (a) $5.0 million, and (b) the average daily outstanding balance of the Revolver Loan during the quarterly period then ended. All Revolver Loan fees are payable quarterly in arrears on the first day of each January, April, July and October and on the Revolver Maturity Date, or upon acceleration of the Revolver Loan, if earlier. Interest-only payments on advances made under the Revolver Loan will continue to be payable monthly in arrears. Under the amended promissory note for the Revolver Loan, the Company pays interest at the Term SOFR-based rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On May 28, 2024, Ranor and the other Borrowers entered into an Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note with Berkshire Bank. Effective May 24, 2024, the Eighth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from May 24, 2024 to August 30, 2024; (ii) amends the maximum principal amount of the Revolver Loan from $5,000,000 to $4,500,000; and (iii) effective on June 1, 2024, increases the Term SOFR Margin (as defined in the Amendment) used to calculate the interest rate from 2.25% per annum to 2.50% per annum.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Ninth Amendment&#8221;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Interest payments made under the Revolver Loan for the fiscal year ended March 31, 2024 and 2023 were $171,073 and $33,156, respectively. The weighted average interest rate at March 31, 2024 and March 31, 2023 was 7.60% and 5.02%, respectively. There was $2.8 million outstanding under the Revolver Loan at March 31, 2024. Unused borrowing capacity at March 31, 2024 and 2023 was approximately $0.5 million and $4.2 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Unamortized debt issue costs at March 31, 2024 and March 31, 2023 were $59,228 and $101,230, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Berkshire Loan Covenants</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">For purposes of this discussion, Ranor and Stadco are referred to together as the &#8220;Borrowers&#8221;. The Ranor Term Loan, the Stadco Term Loan and the Revolver Loan, or together, the &#8220;Berkshire Loans&#8221;, may be accelerated upon the occurrence of an event of default as defined in the Berkshire Loan Agreement. Upon the occurrence and during the continuance of certain default events, at the option of Berkshire Bank, or automatically without notice or any other action upon the occurrence of certain other events specified in the loan agreement, the unpaid principal amount of the Loans and the Notes together with accrued interest and all other obligations owing by the Borrowers to Berkshire Bank would become immediately due and payable without presentment, demand, protest, or further notice of any kind.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company agreed to maintain compliance with certain financial covenants under the Loan Agreement. Namely, The Borrowers agree to maintain the ratio of the Cash Flow of TechPrecision to the Total Debt Service of TechPrecision of not less than 1.20 to 1.00, (except for the fiscal quarter ended December 31, 2022, in which case such ratio of Cash Flow to Total Debt Service was not to be less than 1.10 to 1.00), measured quarterly on the last day of each fiscal quarter-annual period of TechPrecision on a trailing 12-month basis, commencing with the fiscal quarter ending as of September 30, 2021. Calculations will be based on the audited (year-end) and unaudited (quarterly) consolidated financial statements of TechPrecision. Quarterly tests will be measured based on the financial statements included in the Company&#8217;s quarterly reports on Form 10-Q within 60 days of the end of each quarter, and annual tests will be measured based on the financial statements included in the Company&#8217;s annual reports on Form 10-K within 120 days after the end of each fiscal annual period. Cash Flow means an amount, without duplication, equal to the sum of net income of TechPrecision plus (i) interest expense, plus (ii) taxes, plus (iii) depreciation and amortization, plus (iv) stock based compensation expense taken by TechPrecision, plus (v) non-cash losses and charges and one time or non-recurring expenses at Berkshire Bank&#8217;s discretion, less (vi) the amount of cash distributions, if any, made to shareholders or owners of TechPrecision, less (vii) cash taxes paid by the TechPrecision, all as determined in accordance with U.S. GAAP. &#8220;Total Debt Service&#8221; means an amount, without duplication, equal to the sum of (i) all amounts of cash interest paid on liabilities, obligations and reserves of TechPrecision paid by TechPrecision, (ii) all amounts paid by TechPrecision in connection with current maturities of long-term debt and preferred dividends, and (iii) all payments on account of capitalized leases, all as determined in accordance with U.S. GAAP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Borrowers agree to cause their Balance Sheet Leverage to be less than or equal 2.50 to 1.00. Compliance with the foregoing shall be tested quarterly, as of the last day of each fiscal quarter of the Borrowers, commencing with the fiscal quarter ending September 30, 2021. &#8220;Balance Sheet Leverage&#8221; means, at any date of determination, the ratio of Borrowers&#8217; (a) Total Liabilities, less Subordinated Debt, to (b) Net Worth, plus Subordinated Debt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Borrowers agree that their combined annual capital expenditures shall not exceed $1.5 million. Compliance shall be tested annually, commencing with the fiscal year ending March 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Borrowers agree to maintain a Loan-to-Value Ratio of not greater than 0.75 to 1.00. &#8220;Loan-to-Value Ratio&#8221; means the ratio of (a) the sum of the outstanding balance of the Ranor Term Loan and the Stadco Term Loan, to (b) the fair market value of the property pledged as collateral for the loan, as determined by an appraisal obtained from time to time by Berkshire Bank, but not more frequently than one time during each 365 day period (provided that Berkshire Bank may obtain an appraisal at any time after either the Ranor Term Loan or the Stadco Term Loan has been accelerated), which appraisals shall be at the expense of the Borrowers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company was in compliance with all of the financial covenants at March 31, 2023, except for the combined capital expenditures limit, as it exceeded the capital expenditure limit of $1.5 million as defined in the agreement. On June 12, 2023, the Company and Berkshire Bank executed a waiver under which Berkshire Bank waived the Company&#8217;s noncompliance with the capital expenditure limit on March 31, 2023. The waiver document also contains an agreement by the parties to exclude from the calculation of capital expenditures for purposes of the Loan Agreement during the year ending March 31, 2024 any such expenditures made by the Company to the extent they are made using funds provided by customers of the Company for the purpose of making such capital expenditures. For the twelve months ended March 31, 2024, approximately $2.6 million of capital expenditures were excluded from the calculation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Collateral securing all the above obligations comprises all personal and real property of the Company, including cash, accounts receivable, inventories, equipment, and financial assets. The Company&#8217;s short-term and long-term debt is all privately held with no public market for this debt and is considered to be Level 3 under the fair value hierarchy. The carrying value of short and long-term borrowings approximates their fair value.</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 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<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 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 9: 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 10: 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 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<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 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<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 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 14: 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 15: 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 16: 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 17: 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 18: 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 19: 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 20: 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 21: 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>37
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741789760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>OTHER NONCURRENT LIABILITY<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_OtherLiabilitiesDisclosureAbstract', window );"><strong>OTHER NONCURRENT LIABILITY</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_OtherLiabilitiesDisclosureTextBlock', window );">OTHER NONCURRENT LIABILITY</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;13&#160;- OTHER NONCURRENT LIABILITY</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Under an addendum to a contract purchase order, one of our customers agreed to reimburse the Company for the cost of certain new equipment. Payments are received as the Company&#8217;s incurs construction costs. We received the first payment in January 2022, with additional payments received during fiscal 2023 and 2024. In case of a contract breach, at the time of the breach, the customer may claw back the funds based on a prorated ten-year straight-line annual declining balance recovery period. This liability amount was included in the Company&#8217;s consolidated balance sheets as a noncurrent liability as of March 31, 2024 and 2023 for $3.5 million and $1.2 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Stadco entered into the Payment Agreement with the LADWP to settle previously outstanding amounts for water, water service, electric energy and/or electric service in the aggregate amount of $1,770,201 that were delinquent and unpaid. Under the Payment Agreement, Stadco will make monthly installment payments on the unpaid balance beginning on December 15, 2022, in an aggregate amount of </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">$18,439 per month until the earlier of November 15, 2030, or the amount due is paid in full. Late payments under the Payment Agreement accrue a late payment charge equal to an 18% annual rate on the unpaid balance. This liability amount was included in the Company&#8217;s balance sheet as a current and noncurrent liability as of March 31, 2024 and March 31, 2023 for $0.2 million and $1.3 million, and $0.2 million, and $1.5 million, respectively.</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_OtherLiabilitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherLiabilitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_OtherLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other liabilities.</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(20))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 405<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405/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_OtherLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>38
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739670288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_LeasesAbstract', window );"><strong>LEASES</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_tpcs_LeaseOfLesseeDisclosureTextBlock', window );">LEASES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;14&#160;&#8211; LEASES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 25, 2021, Stadco became party to an amended building and property operating lease and recorded a right of use asset and liability of $6.6&#160;million. Monthly base rent for the property is $82,998&#160;per month. The term of the lease will expire on June 30, 2030, and the lessee has no right of renewal beyond the expiration date. The lease contains customary default provisions allowing the landlord to terminate the lease if the lessee fails to remedy a breach of its obligations under the lease within the period specified in the lease, or upon certain events of bankruptcy or seizure or attachment of the lessee&#8217;s assets or interest in the lease. The lease also contains other customary provisions for real property leases of this type.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table lists our right-of-use assets and liabilities on our consolidated balance sheets at:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:65.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Finance lease:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;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:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset &#8211; operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,629,396</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,629,396</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset &#8211; finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;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:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,016</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,716,747)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,033,474)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,977,665</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,660,938</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liability &#8211; operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,124,823</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,819,365</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liability &#8211; finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,151</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,336</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,143,974</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,855,701</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Other supplemental information regarding our leases is contained in the following tables:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:65.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Components of lease expense for the year ended:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 668,058</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 638,732</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,829</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 834</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,536</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Weighted average lease term and discount rate at:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease term (years) &#8211; operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;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:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease term (years) &#8211; finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.75</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease rate &#8211; operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease rate &#8211; finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;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:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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:65.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Supplemental cash flow information related to leases for the year ended:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash used in operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 938,801</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 851,806</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash used in financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,572</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Maturities of lease liabilities at March 31, 2024 for the next five years and thereafter:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:83.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 948,701</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 948,701</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 938,801</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 938,801</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 938,801</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,095,270</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,809,075</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 665,101</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,143,974</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;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_tpcs_LeaseOfLesseeDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing.</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;">tpcs_LeaseOfLesseeDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-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>39
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441824524448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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>COMMITMENTS AND 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_CommitmentsAndContingenciesDisclosureTextBlock', window );">COMMITMENTS AND CONTINGENCIES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;15&#160;&#8211; COMMITMENTS AND CONTINGENCIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Employment Agreements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have employment agreements with each of our executive officers. Such agreements provide for minimum salary levels, adjusted annually, and incentive bonuses that are payable if specified company goals are attained. The aggregate commitment at March 31, 2024 for future executive salaries was approximately $0.6 million. The aggregate commitment at March 31, 2024 was approximately $1.0 million for accrued payroll, vacation and holiday pay for the remainder of our employees.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Purchase Commitments</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of March&#160;31, 2024, we had approximately $5.8&#160;million in purchase obligations outstanding, which primarily consisted of contractual commitments to purchase new materials and supplies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;">Retirement Benefits</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Ranor has a defined contribution and savings plan that covers substantially all Ranor employees who have completed 90 days of service. Ranor retains the option to match employee contributions. The Company contributed $86,026 and $84,889 for the&#160;years ended March&#160;31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Legal Proceeding</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On October 30, 2023, a former employee filed suit against Stadco asserting individual wage and hour claims, claims for age and disability discrimination under California law, and a collective action on behalf of all non-exempt Stadco employees pursuant to the California Private Attorneys General Act of 2004 (&#8220;PAGA&#8221;) [Cal. Lab. Code, ss. 2698, et seq.], to impose civil penalties for certain violations of the California Labor Code. Stadco has retained outside legal counsel to defend this action. The case has been stayed and was resolved in principle at mediation on June 26, 2024. The PAGA settlement must be approved at a court hearing at a future date that has not been determined. The former employee&#8217;s individual claims were also resolved at mediation, and final settlement payment on the individual claims was due and paid in August, 2024.</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_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 commitments and contingencies.</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 405<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<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/2147482648/440-10-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/450/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478522/954-440-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 6: 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_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741338176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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 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_SegmentReportingDisclosureTextBlock', window );">SEGMENT INFORMATION</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">NOTE&#160;16&#160;&#8211; SEGMENT INFORMATION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has two wholly owned subsidiaries, Ranor and Stadco that are each reportable segments. The accounting policies of the segments are the same as those described in the summary of significant accounting policies. All the Company&#8217;s operations, assets, and customers are located in the U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Each reportable segment focuses on the manufacture and assembly of specific components, primarily for defense, aerospace and other industrial customers. However, both segments have separate operating, engineering, and sales teams. The Chief Operating Decision Maker, or CODM, evaluates the performance of our segments based upon, among other things, segment net sales and operating profit. Segment operating profit excludes general corporate costs. Corporate costs include executive and director compensation, stock-based compensation, and other corporate and administrative expenses not allocated to the segments. The segment operating profit metric is what the CODM uses in evaluating our results of operations and the financial measure that provides insight into our overall performance and financial position. The following table provides summarized financial information for our segments:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:70.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.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;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.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,820,542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,181,539</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,567,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,250,075</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Eliminate intersegment revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (796,770)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Net sales from external customers</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,591,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,431,614</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,070,440</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,328,186</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco operating loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,981,316)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,905,324)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate and unallocated <i style="font-style:italic;">(1)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,721,324)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,528,082)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Operating loss </i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,632,200)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,105,220)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (521,108)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (355,608)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Refundable employee retention tax credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">--</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 636,564</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,842</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Consolidated loss before income taxes</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,109,945)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (783,422)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Assets</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,972,805</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,350,905</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,420,276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,817,425</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate and unallocated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 353,614</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,039,411</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,746,695</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,207,741</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Depreciation and amortization</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 700,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 523,683</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,728,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,693,789</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,429,377</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,217,472</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Capital expenditures</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,197,668</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,599,966</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,569</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 725,335</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,230,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,325,301</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">(1) Corporate general costs include executive and director compensation, and other corporate administrative expenses not allocated to the segments.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Prior period segment data is restated to reflect changes in corporate and administrative expenses not allocated to the segments.</i></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/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><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 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<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 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 14: 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 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26C<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 26B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26B<br><br>Reference 17: 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 18: 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 19: 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 20: 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 21: 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 22: 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 23: 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 24: 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 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 (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>41
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741789760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_SubsequentEventsAbstract', window );"><strong>SUBSEQUENT EVENTS</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_SubsequentEventsTextBlock', window );">SUBSEQUENT EVENTS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">NOTE 17 &#8211; SUBSEQUENT EVENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Termination of the Votaw Acquisition </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On November 22, 2023 we entered into a Stock Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with Doerfer Corporation (the &#8220;Seller&#8221;), pursuant to which, we would acquire all of the issued and outstanding common stock of Votaw Precision Technologies, Inc. (&#8220;Votaw&#8221;), and after giving effect to such purchase, Votaw was to become a wholly owned subsidiary of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Due to a change in certain conditions and events, it became probable that on March 31, 2024, the Company would be unable to close on the acquisition, and we accrued $1.1 million for a termination fee (see Note 11, <i style="font-style:italic;">Accrued Expenses</i>). On April 2, 2024, the Seller delivered to us written notice of its election to terminate the Purchase Agreement under Section 7.01(f) effective immediately. Pursuant to Section 7.01(f) of the Purchase Agreement, in the event that the Closing (as defined in the Purchase Agreement) had not occurred by the Outside Date (March 31, 2024, as defined in the Purchase Agreement) either the Company or the Seller had the right to terminate the Purchase Agreement, subject to the party terminating having complied with the other required closing conditions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Since the Seller validly terminated the Purchase Agreement pursuant to Section 7.01(f) therein, the Company was required to pay to the Seller a termination fee, as the Seller&#8217;s exclusive remedy, consisting of 320,000 shares of the Company&#8217;s common stock issued into the name of the Seller (the &#8220;Stock Termination Fee&#8221;) (see Note 11, <i style="font-style:italic;">Accrued Expenses</i>). The Purchase Agreement includes a provision that the Stock Termination Fee is increased by 48,000 additional shares of the Company&#8217;s common stock under certain circumstances, including if the Company fails to use commercially reasonable efforts to cause a registration statement to effect the resale of the shares composing the Stock Termination Fee to become effective as soon as practicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On April 29, 2024, we issued 320,000 shares of the Company&#8217;s common stock as the Stock Termination Fee.On May 2, 2024, the Company filed a registration statement on Form S-1, related to the offer and resale by the Seller of up to 320,000 shares of our common stock that were issued to the Seller as the Stock Termination Fee, which cannot be declared effective by the Securities and Exchange Commission until we have filed all of the required financial statements, including our Quarterly Report on Form 10-Q for the fiscal quarter ended June 30, 2024,</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Amendment to Amended and Restated Loan Agreement and Promissory Note</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On May 28, 2024, the Company entered into an Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note with Berkshire Bank. Effective May 24, 2024, among other things extended the maturity date of the Revolver Loan from May 24, 2024 to August 30, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Ninth Amendment&#8221;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025. (see Note 12 - <i style="font-style:italic;">Debt).</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Private Placement of Common Stock and Warrants</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On July 3, 2024, the Company entered into a Securities Purchase Agreement, or the &#8220;Purchase Agreement&#8221;, with certain accredited investors, or the &#8220;Purchasers&#8221;, pursuant to which the Company agreed to sell in a private placement at an aggregate purchase price of approximately $2.3 million (see Note 2 &#8211; <i style="font-style:italic;">Basis of Presentation and Significant Accounting Policies</i>).</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_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</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 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<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/2147483399/855-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_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="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>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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739674464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_PvpTable', window );"><strong>Pay vs Performance Disclosure</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_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">$ (7,042,172)<span></span>
</td>
<td class="num">$ (979,006)<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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<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(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 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://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/2147478524/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>43
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441836565984">
<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>Mar. 31, 2024</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>44
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441742375072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_AccountingPoliciesAbstract', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation and Consolidation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Basis of Presentation and Consolidation - </i>The accompanying consolidated financial statements include the accounts of TechPrecision, Ranor, Stadco, and Westminster Credit Holdings, LLC. Intercompany transactions and balances have been eliminated in consolidation. On February 23, 2023, the Company effected a <span style="-sec-ix-hidden:Hidden_EXe3YM4Mu0qaxLIQ7lbOKA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span>-for-four reverse stock split with respect to the issued and outstanding shares of TechPrecision common stock. All share and per-share amounts included in this Form 10-K are presented as if the stock split had been effective from the beginning of the earliest period presented.</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_UseOfEstimates', window );">Use of Estimates in the Preparation of Financial Statements</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Use of Estimates in the Preparation of Financial Statements&#160;-</i> In preparing the consolidated financial statements in conformity with generally accepted accounting principles in the United States, or &#8220;U.S. GAAP&#8221;, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and revenues and expenses during the reported period. We continually evaluate our estimates, including those related to revenue recognition, long-lived assets, and income taxes. We base our estimates on historical and current experiences and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates.</p><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_tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock', window );">Risks and Uncertainties</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Going Concern, Risks and Uncertainties -</i> For the fiscal years ended March 31, 2024 and 2023, we reported pre-tax losses of $5.1 million and $0.8 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of March 31, 2024, we had $0.6 million in total available liquidity, consisting of $0.1 million in cash and cash equivalents, and approximately $0.5 million in undrawn capacity under our revolver loan. As of March 31, 2023, we had $4.7 million in total available liquidity, consisting of $0.5 million in cash and cash equivalents, and $4.2 million in undrawn capacity under our revolver loan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is the borrower under a Loan Agreement which was amended on March 20, 2024 (as defined below; see Note 11 &#8211; <i style="font-style:italic;">Debt</i>). On that date, Ranor and certain affiliates of the Company entered into a Seventh Amendment to Amended and Restated Loan Agreement and Third Amendment to Second Amended and Restated Promissory Note, or the &#8220;Seventh Amendment&#8221;. In addition to extending the maturity date of the revolver loan to May 20, 2024, the Seventh Amendment limited the amount of proceeds borrowed to $2.0 million in the aggregate for due diligence and professional costs incurred prior to May 20, 2024 in connection with any potential acquisitions. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On May 28, 2024, Ranor and certain affiliates of the Company entered into the Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Eighth Amendment&#8221; (see Note 12 &#8211; <i style="font-style:italic;">Debt</i>). In addition to extending the maturity date of the revolver loan to August 30, 2024, the Eighth Amendment reduced the maximum principal amount from $5.0 million to $4.5 million and required that an operational assessment be performed, primarily at Stadco, by an </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">acceptable third-party consultant. The lender has acknowledged receipt of that operational assessment of Stadco as required pursuant to the Eighth Amendment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#8220;Ninth Amendment&#8221;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company acknowledges that a certain event of default has occurred and is continuing under the Loan Agreement as a result of the Company&#8217;s failure to satisfy the Debt Service Coverage Ratio, or DSCR, for the twelve-month period ending March 31, 2024. The lender reserves any and all rights and remedies available to it under the Loan Agreement, including, without limitation, its right to choose to accelerate and demand the outstanding indebtedness evidenced by the loan documents, and to seek immediate repayment in full.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">There was $7.6 million in total outstanding under the Loan Agreement on March 31, 2024. Without a waiver, the lender has the right, but not the obligation, to demand repayment from the Company for noncompliance with the debt covenants. In addition, the bank retains the right to act on covenant violations that occur after the date of delivery of any waiver. The lender has not granted us a waiver. As such, we need to seek alternative financing to pay these obligations as the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations. It is also probable that the Company will not be in compliance with the same debt covenants at subsequent measurement dates within the next twelve months. As a result of the above, all of our long-term debt has been classified as current in our consolidated balance sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is exploring various means of strengthening its liquidity position and ensuring compliance with its debt financing covenants by making Stadco operations profitable, renewing our revolver loan, or entering into alternative debt facilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On July 3, 2024, the Company entered into a Securities Purchase Agreement with certain accredited investors, pursuant to which the Company agreed to sell in a private placement at an aggregate purchase price of approximately $2.3 million, (i) 666,100 shares of the Company&#8217;s common stock, par value $0.0001 per share, and (ii) common stock purchase warrants to purchase up to 666,100 shares of Common Stock. The combined purchase price for one Share and one Purchaser Warrant was $3.45. The purpose of the Securities sale under the Purchase Agreement is to raise working capital for use by the Company. The closing of the offering occurred on July 8, 2024. (see Note 17 &#8211;<i style="font-style:italic;"> Subsequent Events</i>). Placement agent&#8217;s fees in connection with the offering totaled $126,014.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In order for us to continue operations beyond the next twelve months from the date of issuance of the financial statements and to be able to discharge our liabilities and commitments in the normal course of business, we must renew our revolver loan or seek alternative financing by August 30, 2024. We must mitigate our recurring operating losses at our Stadco subsidiary, efficiently increase utilization of our manufacturing capacity at Stadco and improve the manufacturing process. We plan to closely monitor our expenses and, if required, will reduce operating costs to enhance liquidity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The uncertainty associated with the recurring operating losses at Stadco, the revolver loan renewal, the need for alternative financing, and compliance with debt covenants at subsequent measurement dates raise substantial doubt about our ability to continue as a going concern for at least one-year after the date the consolidated financial statements included in this Annual Report on Form 10-K are issued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We believe our available cash, proceeds from a private placement offering, plus cash expected to be provided by operations and borrowing capacity available under the Revolver Loan (until August 2024 when the Company expects to renew), will be sufficient to fund our operations, expected capital expenditures, and principal and interest payments under our lease and debt obligations through the next 12 months from the issuance date of our financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The consolidated financial statements for the fiscal year ended March 31, 2024, were prepared on the basis of a going concern which contemplates that we will be able to realize assets and discharge liabilities in the normal course of business. Accordingly, they do not give effect to adjustments that would be necessary should we be required to liquidate assets. Our ability to satisfy our current liabilities and to continue as a going concern is dependent upon the Company&#8217;s compliance with the debt covenants, renewing the revolver loan, and its ability to grow revenue and reduce costs at Stadco. The consolidated financial statements do not include any adjustments that might result from the outcome of these uncertainties.</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_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and cash equivalents</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Cash and cash equivalents -</i> Holdings of highly liquid investments with maturities of three months or less, when purchased, are considered to be cash equivalents. Our deposit and money market accounts are maintained in a large U.S. regional bank.</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_ReceivablesPolicyTextBlock', window );">Accounts receivable and allowance for credit losses</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Accounts receivable and allowance for credit losses&#160;- </i>Accounts receivable are comprised of amounts billed and currently due from customers. Accounts receivables are amounts related to any unconditional right the Company has for receiving consideration and are presented as accounts receivables in the consolidated balance sheets. We maintain allowances for credit losses for estimated losses resulting from the inability of our customers to make required payments. Under the current expected credit loss model, we employ a roll-rate methodology, utilizing historical loss rates and historical trends in credit quality indicators (e.g., delinquency, risk ratings), adjusted to reflect current economic conditions and forecasts of future economic conditions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Management considers the following factors when determining the collectability of specific customer accounts: customer creditworthiness, past transaction history with the customer, current industry trends, and changes in customer payment terms. Our normal collection cycle ranges between thirty and forty days. Estimated uncollectible amounts are charged to earnings and a credit to a valuation allowance. Balances which remain outstanding after reasonable collection efforts are written off through a charge to the valuation allowance and a credit to accounts receivable. Historically, the level of uncollectible accounts has not been significant. An allowance for credit losses of $22,000 was recorded at March 31, 2024 and 2023.</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_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Inventories&#160;- </i>Work-in-process and raw materials are stated at the lower of cost or net realizable value. Cost is determined by the first-in, first-out (FIFO) method.</p><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_tpcs_ContractAssetsPolicyTextBlock', window );">Contract Assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Contract Assets</i>&#160;- Contract assets represent the Company&#8217;s rights to consideration for work completed but not billed as of the reporting date when the right to payment is not just subject to the passage of time. The amount of contract assets recorded in the consolidated balance sheet reflects revenue recognized on contracts less associated advances and progress billings. These amounts are billed in accordance with the agreed-upon contract terms or upon achievement of contract milestones and recorded at net realizable value.</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_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, plant and equipment, net</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Property, plant and equipment, net&#160;-</i> Property, plant and equipment are recorded at cost less accumulated depreciation and amortization. Depreciation and amortization are accounted for on the straight-line method based on estimated useful lives. The amortization of leasehold improvements is based on the shorter of the lease term or the useful life of the improvement. Betterments and large renewals, which extend the life of the asset, are capitalized whereas maintenance and repairs and small renewals are expensed as incurred. The estimated useful lives are machinery and equipment, 5-15&#160;years; buildings,&#160;30 years; and leasehold improvements, 2-5&#160;years. Upon sale or retirement of machinery and equipment, costs and related accumulated depreciation are eliminated, and gains or losses are recognized in the statement of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Interest is capitalized for assets that are constructed or otherwise produced for our own use, including assets constructed or produced for us by others for which deposits or progress payments have been made. Interest is capitalized to the date the assets are available and ready for use. When an asset is constructed in stages, interest is capitalized for each stage until it is available and ready for use. We use the interest rate incurred on funds borrowed specifically for the project. The capitalized interest is recorded as part of the asset to which it relates and is amortized over the asset&#8217;s estimated useful life.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In accordance with Accounting Standards Codification, or &#8220;ASC&#8221;, 360, <i style="font-style:italic;">Property, Plant&#160;&amp; Equipment</i>, our property, plant and equipment is tested for impairment when triggering events occur and, if impaired, written-down to fair value based on either discounted cash flows or appraised values. The carrying amount of an asset or asset group is not recoverable if it exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset or asset group.</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_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Leases -</i> Right-of-use assets for operating leases are measured at the initial amount of the lease liability adjusted for lease payments made at or before the lease commencement date, plus any initial direct costs incurred less any lease incentives received. Right-of-use assets for operating leases are subsequently measured throughout the lease term at the carrying amount of the lease liability, plus initial direct costs, plus (minus) any prepaid (accrued) lease payments, less the unamortized balance of lease incentives received. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Operating lease liabilities are initially measured at the present value of the unpaid lease payments at the lease commencement date. We have one and two finance leases outstanding as of March 31, 2024 and 2023, respectively. See Note 14, <i style="font-style:italic;">Leases</i>, for additional information.</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_tpcs_DebtIssuanceCostsPolicyPolicyTextBlock', window );">Debt Issuance Costs</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Debt Issuance Costs&#160;-</i> Costs incurred in connection with obtaining financing for long-term debt are capitalized and presented as a reduction of the carrying amount of the related debt. Costs incurred in connection with obtaining financing for revolving credit facilities and lines of credit are capitalized and presented as reduction of the carrying amount of the revolver loan. Loan acquisition costs are being amortized using the effective interest method over the term of the loan.</p><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_tpcs_ContractLiabilitiesPolicyTextBlock', window );">Contract Liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Contract Liabilities</i>&#160;- Contract liabilities are comprised of advance payments, billings in excess of revenues, and deferred revenue amounts. Such advances are not generally considered a significant financing component because they are utilized to pay for contract </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">costs within a one-year period. Contract liability amounts are recognized as revenue once control over the underlying performance obligation has transferred to the customer.</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_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair Value Measurements</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Fair Value Measurements&#160;-</i> We account for fair value of financial instruments in accordance with ASC 820,<i style="font-style:italic;"> Fair Value Measurement</i>, which defines fair value and establishes a framework to measure fair value and the related disclosures about fair value measurements. The fair value of a financial instrument is the amount that could be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. Financial assets are marked to bid prices and financial liabilities are marked to offer prices. Fair value measurements do not include transaction costs. The Financial Accounting Standards Board, or FASB, establishes a fair value hierarchy used to prioritize the quality and reliability of the information used to determine fair values. Categorization within the fair value hierarchy is based on the lowest level of input that is significant to the fair value measurement. The fair value hierarchy is defined into the following three categories: Level 1:&#160;Inputs based upon quoted market prices for identical assets or&#160;liabilities in active markets at the measurement date; Level 2:&#160;Observable inputs other than quoted prices included in Level 1, such as quoted prices for similar assets and liabilities in active markets; quoted prices for identical or similar assets and liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data; and Level 3: Inputs that are management&#8217;s best estimate of what market participants would use in pricing the asset or liability at the measurement date.&#160;The inputs are unobservable in the market and significant to the instruments&#8217; valuation. In addition, we will measure fair value in an inactive or dislocated market based on facts and circumstances and significant management judgment. We will use inputs based on management estimates or assumptions or adjust observable inputs to determine fair value when markets are not active and relevant observable inputs are not available.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">ASC 825,<i style="font-style:italic;"> Financial Instruments</i>, requires disclosures about the fair value of financial instruments. The carrying amount of cash and cash equivalents, accounts receivable, accounts payable, and accrued expenses, as presented in the balance sheet, approximates fair value due to the short-term nature of these instruments. The carrying value of short and long-term borrowings approximates their fair value.</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_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Revenue Recognition</i>&#160;- The Company accounts for revenue under Accounting Standards Update, or &#8220;ASU&#8221;, 2014-09, <i style="font-style:italic;">Revenue from Contracts with Customers (Topic 606), </i>or &#8220;ASC 606&#8221;, and related amendments<i style="font-style:italic;">.</i> ASC 606 sets forth five steps for revenue recognition: identification of the contract, identification of any separate performance obligations in the contracts, determination of the transaction price, allocation of the transaction price to separate performance obligations, and revenue recognition when performance obligations are satisfied.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue over time based on the transfer of control of the promised goods or services to the customer. This transfer occurs over time when the Company has an enforceable right to payment for performance completed to date, and our performance does not create an asset that has an alternative use to the Company. Otherwise, control to the promised goods or services transfers to customers at a point in time. Our customers make advance payments and progress payments under the terms of each manufacturing contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The majority of the Company&#8217;s contracts have a single performance obligation and provide title to, or grant a security interest in, work-in-process to the customer. In addition, these contracts contain enforceable rights to payment, allowing the Company to recover both its cost and a reasonable margin on performance completed to date. The combination of these factors indicates that the customer controls the asset and revenue is recognized as the asset is created or enhanced. The Company measures progress for performance obligations satisfied over time using input methods (e.g., costs incurred, resources consumed, labor hours expended, and time elapsed).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Under arrangements where the customer does not have title to, or a security interest in, the work-in-process, our evaluation of whether revenue should be recognized over time requires significant judgment about whether the asset has an alternative use and whether the entity has an enforceable right to payment for performance completed to date. When one or both of these factors is not present, the Company will recognize revenue at the point in time where control over the promised good or service transfers to the customer, i.e. when the customer has taken physical possession of the product the Company has built for the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company and its customers may occasionally enter into contract modifications, including change orders. The Company may account for the modification as a separate contract, the termination of an old contract and creation of a new contract, or as part of the original contract, depending on the nature and pricing of the goods or services included in the modification. In general, contract modifications&#160;- as well as other changes in estimates of sales, costs, and profits on a performance obligation&#160;- are recognized using the cumulative catch-up method of accounting. This method recognizes in the current period the cumulative effect of the changes in current and prior periods. A significant change in an estimate on one or more contracts in a period could have a material effect on the consolidated balance sheet or results of operations for that period. For the fiscal&#160;year ended March&#160;31, 2024 and 2023, net cumulative catch-up adjustments were </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">not material. No individual adjustment was material to the Company&#8217;s consolidated statements of operations loss for the fiscal&#160;year ended March&#160;31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">If incentives and other contingencies are provided as part of the contract, the Company will include in the initial transaction price the consideration to which it expects to be entitled under the terms and conditions of the contract, generally estimated using an expected value or most likely amount approach. In the context of variable consideration, the Company limits, or constrains, the transaction price to amounts for which the Company believes a significant reversal of revenue is not probable. Adjustments to constrain the transaction price may be due to a portion of the transaction price being more than approved funding, a lack of history with the customer, a lack of history with the goods or services being provided, or other items.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Shipping and handling fees and costs incurred in connection with products sold are recorded in cost of sales in the consolidated statements of operations and are not considered a performance obligation to our customers.</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_tpcs_ContractEstimatesPolicyTextBlock', window );">Contract Estimates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Contract Estimates</i>&#160;- In estimating contract costs, the Company takes into consideration a number of assumptions and estimates regarding risks related to technical requirements and scheduling. Management performs periodic reviews of the contracts to evaluate the underlying risks. Profit margin on any given project could increase if the Company is able to mitigate and retire such risks. Conversely, if the Company is not able to properly manage these risks, cost estimates may increase, resulting in a lower profit margin, or potentially, contract losses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The cost estimation process requires significant judgment and is based upon the professional knowledge and experience of the Company&#8217;s engineers, program managers, and financial professionals. Factors considered in estimating the work to be completed and ultimate contract recovery include the availability, productivity, and cost of labor, the nature and complexity of the work to be performed, the effect of change orders, the availability of materials, the effect of any delays in performance, the availability and timing of funding from the customer, and the recoverability of any claims included in the estimates to complete. Costs allocable to undelivered units are reported as work in process, a component of inventory, in the consolidated balance sheet. Pre-contract fulfillment costs requiring capitalization are not material.</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_SellingGeneralAndAdministrativeExpensesPolicyTextBlock', window );">Selling, general and administrative</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Selling, general and administrative</i>&#160;- Selling, general and administrative, or &#8220;SG&amp;A&#8221;, expenses include items such as executive compensation and benefits, professional fees, business travel and office costs. Advertising costs are nominal and expensed as incurred. Other general and administrative expenses include items for our administrative functions and include costs for items such as office supplies, insurance, legal, accounting, telephone, and other outside services. SG&amp;A consisted of the following for the fiscal&#160;years ended March&#160;31:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;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:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Salaries and related expenses</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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,342,316</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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,823,979</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Professional fees</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,721,487</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,795,904</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other general and administrative</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,719,615</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,388,998</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Due diligence advisory and legal fees related to acquisition termination</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,850,158</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock based acquisition termination fee</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,116,800</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total Selling, general and administrative</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,750,376</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,008,881</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_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock-based Compensation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Stock-based Compensation&#160;-</i> Stock-based compensation represents the cost related to stock-based awards granted to our board of directors, employees, and consultants. We measure stock-based compensation cost at the grant date based on the estimated fair value of the award and recognize the cost as expense on a straight-line basis over the requisite service period. We estimate the fair value of stock options using a Black-Scholes valuation model. Stock-based compensation included in selling, general and administrative expense amounted to $284,925 and $253,079 for the fiscal years ended March 31, 2024 and 2023, respectively. See Note 7 for additional disclosures related to stock-based compensation.</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_EarningsPerSharePolicyTextBlock', window );">Net Loss per Share of Common Stock</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Net Loss per Share of Common Stock - </i>Basic net loss per common share is computed by dividing net loss income by the weighted average number of shares outstanding during the year. Diluted net loss income per common share is calculated using net loss divided by diluted weighted-average shares. Diluted weighted-average shares include weighted-average shares outstanding plus the dilutive effect of stock options calculated using the treasury stock method. See Note 6 for additional disclosures related to net loss per share.</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_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Income Taxes&#160;-</i> In accordance with ASC&#160;740, <i style="font-style:italic;">Income Taxes</i>, income taxes are accounted for under the asset and liability method<i style="font-style:italic;">.</i> Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the&#160;years in which those temporary differences and carryforwards are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;">Valuation allowances are recorded to reduce deferred tax assets when it is more likely than not that a tax benefit will not be realized. We recognize the effect of income tax positions only if those positions are more likely than not to be sustained. Recognized income tax positions are measured at the largest amount that is greater than 50% likely of being realized. Changes in recognition or measurement are reflected in the period in which the change in judgment occurs.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;">We recognize interest and penalties accrued related to income tax liabilities in selling, general and administrative expense in our Consolidated Statements of Operations.</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_tpcs_ContractAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract 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;">tpcs_ContractAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_ContractEstimatesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract Estimates</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;">tpcs_ContractEstimatesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_ContractLiabilitiesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract 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;">tpcs_ContractLiabilitiesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_DebtIssuanceCostsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the accounting policy for debt issuance costs.</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;">tpcs_DebtIssuanceCostsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 defined as risks and uncertainties.</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;">tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-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_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_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</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 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-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_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<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 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-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_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="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_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</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 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20<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 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25<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(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<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 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-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_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="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_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</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(6)(b))<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 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br><br>Reference 4: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478411/912-330-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482989/270-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_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="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_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 leasing arrangement entered into by lessee.</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 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-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_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</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/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)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-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_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ReceivablesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 receivable. Includes, but is not limited to, accounts receivable and financing 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 310<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/2147481962/310-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481569/310-20-50-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 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<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/2147481962/310-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<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/2147481962/310-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_ReceivablesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue. Includes revenue from contract with customer and from other sources.</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 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 2: 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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-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_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="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_SellingGeneralAndAdministrativeExpensesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inclusion of significant items in the selling, general and administrative (or similar) expense report caption.</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 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483406/720-35-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_SellingGeneralAndAdministrativeExpensesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</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 (f)(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> -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 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 (f)(2)(ii)<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 (f)(2)(v)<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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 9: 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 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 (b)<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 (f)(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_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="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_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</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 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-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_UseOfEstimates</td>
</tr>
<tr>
<td style="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>45
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441742042528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_AccountingPoliciesAbstract', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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_tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock', window );">Schedule of selling, general, and administrative 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;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:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Salaries and related expenses</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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,342,316</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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,823,979</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Professional fees</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,721,487</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,795,904</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other general and administrative</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,719,615</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,388,998</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Due diligence advisory and legal fees related to acquisition termination</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,850,158</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock based acquisition termination fee</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,116,800</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total Selling, general and administrative</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,750,376</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,008,881</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_tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 selling, general, and administrative 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;">tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-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>46
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739738496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_ConcentrationRiskLineItems', window );"><strong>REVENUE</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 net sales on a disaggregated basis by market and contract type</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;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:62.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;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;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.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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.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;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.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;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.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;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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net Sales by market</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Defense</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended March 31, 2024</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,405,569</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 185,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,591,059</p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,935,138</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 496,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,431,614</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.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;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;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.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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.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;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.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;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.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;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;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net Sales by contract type</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Over-time</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Point-in-time</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended March 31, 2024</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;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,412,981</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;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,178,078</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,591,059</p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,785,799</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,645,815</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,431,614</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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of contract assets and contract liabilities</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;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:62.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Progress</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contract assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unbilled</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Payments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,254,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,727,786)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,526,726</p></td></tr><tr><td style="vertical-align:bottom;width:62.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,485,914</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,538,103)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,947,811</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;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:62.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contract liabilities</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;text-align:center;margin:0pt 0pt 0.05pt 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.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Deferred&#160;revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer&#160;Deposits</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2024</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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,103,567</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,684,366</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,787,933</p></td></tr><tr><td style="vertical-align:bottom;width:62.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,195,298</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,138,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,333,591</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesMember', window );">Sales</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_ConcentrationRiskLineItems', window );"><strong>REVENUE</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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock', window );">Schedule of trade accounts receivable from customers who accounted for more than 10%</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;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:58.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td 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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td 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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,050,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,352,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,257,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> *</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> *</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,779,592</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,830,958</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,248,773</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,319,827</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,838,734</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</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:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">*</i><i style="font-style:italic;">Less than 10% of total</i></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_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/2147478785/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_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract 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/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="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_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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.</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 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<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 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 3: 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 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 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<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 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-16<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-21<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock</td>
</tr>
<tr>
<td style="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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SalesMember</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>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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441740393872">
<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">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Schedule of income and loss from continuing operations by location</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;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:70%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Loss before income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5,109,945)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (783,422)</p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,932,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 195,584</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,042,172)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (979,006)</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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of components of income tax provision</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;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:70%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,041</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total Current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,041</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,087,627</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (261,372)</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (156,441)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 456,956</p></td></tr><tr><td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total Deferred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,931,186</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 195,584</p></td></tr><tr><td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income tax expense (benefit) </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,932,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 195,584</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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of reconciliation between income taxes computed at the U.S. federal statutory rate to the actual tax expense for income taxes reported in the consolidated statements of operations and comprehensive loss</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;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:70.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 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.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">U.S. statutory income tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,073,088)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (164,519)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">State income tax, net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (164,433)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (151,878)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Nondeductible items related to business combination and dissolved foreign entity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 65,482</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Change in state NOLs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 239,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,141,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 216,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (20,983)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,160</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,932,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 195,584</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effective tax rate*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</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:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Effective tax rate is calculated by dividing the income tax provision by loss before income taxes.</i></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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of the components of deferred income tax assets and liabilities</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;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net operating loss carryforward</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,302,402</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,839,915</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 142,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 213,308</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock based compensation awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,525</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 242,579</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,195,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other items not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 536,664</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 126,792</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,184,714</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,422,594</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5,311,680)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,170,094)</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,873,034</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,252,500</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,562,744)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,971,644)</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,157,079)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract accounting methods </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (153,211)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (349,670)</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,873,034)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,321,314)</p></td></tr><tr><td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred taxes, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,931,186</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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</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 9<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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="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_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 12A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: 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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income before income tax between domestic and foreign jurisdictions.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock</td>
</tr>
<tr>
<td style="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>48
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739131872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CAPITAL STOCK and EARNINGS PER SHARE (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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>CAPITAL STOCK and EARNINGS 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 reconciliation of the numerators and denominators reflected in the basic and diluted earnings per share computations</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;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:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Basic EPS</i></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,042,172)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (979,006)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,717,160</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,595,992</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss per share</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.81)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.11)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Diluted EPS</i></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,042,172)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (979,006)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dilutive effect of stock options</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,717,160</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,595,992</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss per share</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.81)</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.11)</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_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>49
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741776240">
<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">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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 );">Summary of information about options granted</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;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:57.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;Of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual&#160;Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td 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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(in&#160;years)</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at March 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 667,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,597,700</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.66</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Canceled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 667,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,804,625</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.70</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (125,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.68</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 846,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,128,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.93</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested or expected to vest at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,128,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.93</p></td></tr><tr><td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable and vested at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,128,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.93</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_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock', window );">Summary of information relating to stock options outstanding</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;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;white-space:nowrap;width:51.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 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:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Range of Exercise Prices:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Outstanding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Exercisable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$0.01-$0.99</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 192,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.36</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 192,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.32</p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$2.00-$2.99</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 350,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 350,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.19</p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</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_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms.</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_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock</td>
</tr>
<tr>
<td style="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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<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>50
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739661888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONCENTRATION OF RISK (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable</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_ConcentrationRiskLineItems', window );"><strong>CONCENTRATION OF RISK</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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock', window );">Schedule of trade accounts receivable from customers who accounted for more than 10%</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;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:59.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dollars</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dollars</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 940,279</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 730,514</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 260,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 423,198</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 265,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</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:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><i style="font-style:italic;font-weight:normal;">*</i><i style="font-style:italic;font-weight:normal;">less than 10% of total</i></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_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/2147478785/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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.</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 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<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 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 3: 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 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 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<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 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-16<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-21<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock</td>
</tr>
<tr>
<td style="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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739131872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>OTHER CURRENT ASSETS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_PrepaidExpenseAndOtherAssetsCurrentAbstract', window );"><strong>OTHER CURRENT 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_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;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:71.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Other current assets included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid insurance</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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 336,578</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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 162,075</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid subscriptions</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 119,983</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 120,570</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid taxes</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,266</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,616</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Supplier advances</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,142</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deposits</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,800</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,706</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee advances</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,978</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,561</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid advisory fees, other</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,941</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,455</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 563,688</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 348,983</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="font-size:1pt;font-weight:normal;margin-bottom:12pt;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_PrepaidExpenseAndOtherAssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PrepaidExpenseAndOtherAssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-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_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>52
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441853345664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, PLANT AND EQUIPMENT, NET (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_PropertyPlantAndEquipmentAbstract', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</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_PropertyPlantAndEquipmentTextBlock', window );">Schedule of components of property, plant and equipment, net</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;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:71.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;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;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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Property, plant and equipment, net consisted of the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 110,113</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 110,113</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Building and improvements</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,293,986</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,293,986</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery equipment, furniture, and fixtures</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,590,644</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,018,713</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction-in-progress</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 148,606</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 149,576</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant, and equipment</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,143,349</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,572,388</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,345,358)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,658,364)</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant and equipment, net</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,797,991</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,914,024</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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="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>53
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739340256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCRUED EXPENSES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_PayablesAndAccrualsAbstract', window );"><strong>ACCRUED EXPENSES</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_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;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Accrued expenses included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued compensation</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,172,262</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,257,245</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for claims </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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 516,972</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 256,227</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for contract losses</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 293,324</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,954</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued professional fees</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 458,636</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 241,195</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued project costs</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 560,428</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 440,550</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued breakup fee</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,116,800</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 144,064</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 235,014</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,262,486</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,533,185</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_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441740922624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEBT (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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>DEBT</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_ScheduleOfDebtTableTextBlock', window );">Schedule of long-term debt</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;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:71.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;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Long-term debt included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stadco Term Loan, at 3.79% interest, due August 2028</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,647,275</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,186,495</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ranor Term Loan, at 6.05% interest, due December 2027</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,215,643</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,276,518</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ranor Revolver Loan, at 7.69% interest, due August 2024</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,785,000</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 650,000</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total debt</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,647,918</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,113,013</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: debt issue costs unamortized</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 89,235</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 145,712</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total debt, net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,558,683</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,967,301</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: Current portion of long-term debt</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,558,683</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,218,162</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total long-term debt, net</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</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;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,749,139</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_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_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.</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_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="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>55
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739865968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_LeasesAbstract', window );"><strong>LEASES</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_tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock', window );">Schedule of right-of-use assets and liabilities</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;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:65.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Finance lease:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;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:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset &#8211; operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,629,396</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,629,396</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset &#8211; finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;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:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,016</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,716,747)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,033,474)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,977,665</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,660,938</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liability &#8211; operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,124,823</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,819,365</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liability &#8211; finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,151</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,336</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,143,974</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,855,701</p></td></tr></table><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_tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock', window );">Schedule of other supplemental information regarding our 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;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:65.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Components of lease expense for the year ended:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 668,058</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 638,732</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,829</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 834</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,536</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Weighted average lease term and discount rate at:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease term (years) &#8211; operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;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:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease term (years) &#8211; finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.75</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease rate &#8211; operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease rate &#8211; finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;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:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><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_tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock', window );">Schedule of supplemental cash flow information</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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:65.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Supplemental cash flow information related to leases for the year ended:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash used in operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 938,801</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 851,806</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash used in financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,572</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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_FinanceLeaseLiabilityMaturityTableTextBlock', window );">Schedule of maturities of lease liabilities</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;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:83.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 948,701</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 948,701</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 938,801</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 938,801</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 938,801</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,095,270</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,809,075</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 665,101</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,143,974</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;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_tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 supplementary cash flow information pertaining to 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;">tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other supplemental information related to 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;">tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 supplemental balance sheet information related to 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;">tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_FinanceLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance 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_FinanceLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-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>56
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441738583472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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 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_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Summary of financial information for 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;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:70.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;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.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;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.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;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.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;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.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;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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,820,542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,181,539</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,567,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,250,075</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Eliminate intersegment revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (796,770)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Net sales from external customers</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,591,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,431,614</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,070,440</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,328,186</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco operating loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,981,316)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,905,324)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate and unallocated <i style="font-style:italic;">(1)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,721,324)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,528,082)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Operating loss </i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,632,200)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,105,220)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (521,108)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (355,608)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Refundable employee retention tax credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">--</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 636,564</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,842</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Consolidated loss before income taxes</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,109,945)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (783,422)</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Assets</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,972,805</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,350,905</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,420,276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,817,425</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate and unallocated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 353,614</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,039,411</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,746,695</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,207,741</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Depreciation and amortization</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 700,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 523,683</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,728,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,693,789</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,429,377</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,217,472</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Capital expenditures</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,197,668</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,599,966</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,569</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;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:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 725,335</p></td></tr><tr><td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,230,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,325,301</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">(1) Corporate general costs include executive and director compensation, and other corporate administrative expenses not allocated to the segments.</i></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 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 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 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<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 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>57
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441744096864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jul. 03, 2024 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th"><div>Feb. 23, 2023</div></th>
<th class="th">
<div>Mar. 31, 2024 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>May 28, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>May 24, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>May 23, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 20, 2024 </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_tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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>
</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_StockholdersEquityNoteStockSplitConversionRatio1', window );">Reverse stock split conversion ratio</a></td>
<td class="text">&#160;<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="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 );">Pre-tax losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (5,109,945)<span></span>
</td>
<td class="num">$ (783,422)<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_tpcs_TotalAvailableLiquidity', window );">Total available liquidity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">600,000<span></span>
</td>
<td class="nump">4,700,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>
<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_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">138,402<span></span>
</td>
<td class="nump">534,474<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_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Undrawn capacity under revolving loan</a></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">$ 4,200,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>
<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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share) | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<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_AllowanceForDoubtfulAccountsReceivable', window );">Accounts Receivable, Allowance for Credit Loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 22,000<span></span>
</td>
<td class="nump">$ 22,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>
<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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent event | Private placement</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>
</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_tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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>
</tr>
<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_ProceedsFromIssuanceOfCommonStock', window );">Aggregate purchase price</a></td>
<td class="nump">$ 2,300,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>
<td class="text">&#160;<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_StockIssuedDuringPeriodSharesNewIssues', window );">Issuance of common stock (in shares) | shares</a></td>
<td class="nump">666,100<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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 0.0001<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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Warrants issued to purchase common stock | shares</a></td>
<td class="nump">666,100<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tpcs_SaleOfStockAndWarrantPricePerShare', window );">Combined purchase price of share and warrant | $ / shares</a></td>
<td class="nump">$ 3.45<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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoninterestExpenseTransferAgentAndCustodianFees', window );">Placement agent's fees</a></td>
<td class="nump">$ 126,014<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="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=tpcs_RevolverLoanMember', window );">Revolver loan</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>
</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_tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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>
</tr>
<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 );">Revolver loan, commitment amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000,000.0<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="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=tpcs_RevolverLoanMember', window );">Revolver loan | Subsequent event</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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>
</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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Revolver loan, commitment amount</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">$ 4,500,000<span></span>
</td>
<td class="nump">$ 4,500,000<span></span>
</td>
<td class="nump">$ 5,000,000<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_DebtInstrumentAxis=tpcs_BerkshireLoanMember', window );">Berkshire Loan</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>
</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_tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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>
</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_tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts', window );">Revolving credit, limitations in use of proceeds</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="nump">$ 2,000,000.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_LineOfCredit', window );">Amount of total debt outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,600,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>
<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_DebtInstrumentAxis=tpcs_BerkshireLoanMember', window );">Berkshire Loan | Revolver loan</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>
</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_tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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>
</tr>
<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_LineOfCredit', window );">Amount of total debt outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,800,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>
<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery And Equipment [Member] | Minimum [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>
<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_tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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>
</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</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>
<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery And Equipment [Member] | Maximum [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>
<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_tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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>
</tr>
<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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">15 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>
<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Building [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>
<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_tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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>
</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">30 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>
<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member] | Minimum [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>
<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_tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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>
</tr>
<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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 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>
<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member] | Maximum [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>
<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_tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems', window );"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</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>
</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</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>
<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_tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 proceeds that are limited in usage for the purpose of due diligence and professional costs.</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;">tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_SaleOfStockAndWarrantPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount received by subsidiary or equity investee for each share of common stock and warrant issued or sold in the stock transaction.</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;">tpcs_SaleOfStockAndWarrantPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_TotalAvailableLiquidity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 total available liquidity.</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;">tpcs_TotalAvailableLiquidity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accounts 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 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-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(4))<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 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 4: 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><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-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_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-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_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_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 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 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-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_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights</td>
</tr>
<tr>
<td style="padding-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_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_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/2009/role/commonPracticeRef<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/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><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 8: 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/2147477250/944-220-S99-1<br><br>Reference 9: 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 10: 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/2147477314/942-235-S99-1<br><br>Reference 11: 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 12: 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/2147478524/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_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a 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. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</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://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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/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_LineOfCredit</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(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_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</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 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<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(22)(b))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(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_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-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_NoninterestExpenseTransferAgentAndCustodianFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fees paid to an agent employed by a corporation or mutual fund to maintain shareholder records, including purchases, sales, and account balances. Also includes custodian fees incurred during an accounting period from an agent, bank, trust company, or other organization that holds and safeguards an individual's, mutual fund's, or investment company's assets for them. These fees will be billed back to the client and are a component of noninterest expense.</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 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/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_NoninterestExpenseTransferAgentAndCustodianFees</td>
</tr>
<tr>
<td style="padding-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_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from the additional capital contribution to the 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> -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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</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_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 new stock issued 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> -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 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://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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/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/2147479134/946-220-S99-3<br><br>Reference 6: 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)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-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_StockholdersEquityNoteStockSplitConversionRatio1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Ratio applied to the conversion of stock split, for example but not limited to, one share converted to two or two shares converted to one.</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 4<br> -Subparagraph (SAB Topic 4.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-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_StockholdersEquityNoteStockSplitConversionRatio1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</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_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember</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=tpcs_RevolverLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_RevolverLoanMember</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_DebtInstrumentAxis=tpcs_BerkshireLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=tpcs_BerkshireLoanMember</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</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>58
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441744044272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES - SG&amp;A, Stock Based Compensation (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_SellingGeneralAndAdministrativeExpenseAbstract', window );"><strong>Selling, General, and Administrative</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_LaborAndRelatedExpense', window );">Salaries and related expenses</a></td>
<td class="nump">$ 2,342,316<span></span>
</td>
<td class="nump">$ 2,823,979<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_ProfessionalFees', window );">Professional fees</a></td>
<td class="nump">1,721,487<span></span>
</td>
<td class="nump">1,795,904<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_OtherGeneralAndAdministrativeExpense', window );">Other general and administrative</a></td>
<td class="nump">1,719,615<span></span>
</td>
<td class="nump">1,388,998<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_tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination', window );">Due diligence advisory and legal fees related to acquisition termination</a></td>
<td class="nump">1,850,158<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_tpcs_StockBasedAcquisitionTerminationFeesAmount', window );">Stock based acquisition termination fee</a></td>
<td class="nump">1,116,800<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_SellingGeneralAndAdministrativeExpense', window );">Total Selling, General and Administrative</a></td>
<td class="nump">8,750,376<span></span>
</td>
<td class="nump">6,008,881<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_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative expenses</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_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract', 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_AllocatedShareBasedCompensationExpense', window );">Stock based compensation cost</a></td>
<td class="nump">$ 284,925<span></span>
</td>
<td class="nump">$ 253,079<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 advisory and legal fees related to acquisition termination.</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;">tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_StockBasedAcquisitionTerminationFeesAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock-based acquisition termination fee payable.</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;">tpcs_StockBasedAcquisitionTerminationFeesAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense for award under share-based payment arrangement. Excludes amount capitalized.</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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<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 (h)(1)(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_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-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_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_LaborAndRelatedExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense for salary, wage, profit sharing; incentive and equity-based compensation; and other employee 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 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_LaborAndRelatedExpense</td>
</tr>
<tr>
<td style="padding-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_OtherGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 general and administrative expense 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(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-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 1<br> -Subparagraph (SX 210.6-07(2)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-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_OtherGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-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_ProfessionalFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or customer.</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 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><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 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (k)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-3<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 1<br> -Subparagraph (SX 210.6-07(2)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-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_ProfessionalFees</td>
</tr>
<tr>
<td style="padding-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_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_SellingGeneralAndAdministrativeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SellingGeneralAndAdministrativeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-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_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SellingGeneralAndAdministrativeExpensesMember</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>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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441738346720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE - Disaggregated basis (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales</a></td>
<td class="nump">$ 31,591,059<span></span>
</td>
<td class="nump">$ 31,431,614<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Over-time</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales</a></td>
<td class="nump">30,412,981<span></span>
</td>
<td class="nump">29,785,799<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Point-in-time</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales</a></td>
<td class="nump">1,178,078<span></span>
</td>
<td class="nump">1,645,815<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_MajorCustomersAxis=tpcs_DefenseMember', window );">Defense</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales</a></td>
<td class="nump">31,405,569<span></span>
</td>
<td class="nump">30,935,138<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_MajorCustomersAxis=tpcs_IndustrialMember', window );">Industrial</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales</a></td>
<td class="nump">$ 185,490<span></span>
</td>
<td class="nump">$ 496,476<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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, including 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 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 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 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> -Subparagraph (a)<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 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_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember</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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember</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=tpcs_DefenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_DefenseMember</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=tpcs_IndustrialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_IndustrialMember</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>60
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741037904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE - Net sales from customers (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_Revenues', window );">Revenues</a></td>
<td class="nump">$ 31,591,059<span></span>
</td>
<td class="nump">$ 31,431,614<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_MajorCustomersAxis=tpcs_CustomerAMember', window );">Customer A | Customer concentration risk | Sales revenue, net</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_Revenues', window );">Revenues</a></td>
<td class="nump">$ 9,050,470<span></span>
</td>
<td class="nump">$ 6,352,394<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 );">Concentration risk percentage</a></td>
<td class="nump">29.00%<span></span>
</td>
<td class="nump">20.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_MajorCustomersAxis=tpcs_CustomerAMember', window );">Customer A | Customer concentration risk | Accounts Receivable</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">40.00%<span></span>
</td>
<td class="nump">31.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_MajorCustomersAxis=tpcs_CustomerBMember', window );">Customer B | Customer concentration risk | Sales revenue, net</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_Revenues', window );">Revenues</a></td>
<td class="nump">$ 3,257,616<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 );">Concentration risk percentage</a></td>
<td class="nump">10.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_MajorCustomersAxis=tpcs_CustomerBMember', window );">Customer B | Customer concentration risk | Accounts Receivable</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.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_MajorCustomersAxis=tpcs_CustomerCMember', window );">Customer C | Customer concentration risk | Sales revenue, net</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_Revenues', window );">Revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,779,592<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 );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.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_MajorCustomersAxis=tpcs_CustomerCMember', window );">Customer C | Customer concentration risk | Accounts Receivable</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">18.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_MajorCustomersAxis=tpcs_CustomerDMember', window );">Customer D | Customer concentration risk | Sales revenue, net</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_Revenues', window );">Revenues</a></td>
<td class="nump">$ 3,830,958<span></span>
</td>
<td class="nump">$ 3,248,773<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 );">Concentration risk percentage</a></td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">10.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_MajorCustomersAxis=tpcs_CustomerDMember', window );">Customer D | Customer concentration risk | Accounts Receivable</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.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_MajorCustomersAxis=tpcs_CustomerEMember', window );">Customer E | Customer concentration risk | Sales revenue, net</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_Revenues', window );">Revenues</a></td>
<td class="nump">$ 3,319,827<span></span>
</td>
<td class="nump">$ 5,838,734<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 );">Concentration risk percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">19.00%<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_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_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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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 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><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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 7: 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 8: 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 9: 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 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)(i))<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)(ii))<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/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 21: 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 22: 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 23: 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 24: 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 25: 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/2147477314/942-235-S99-1<br><br>Reference 26: 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(1))<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_Revenues</td>
</tr>
<tr>
<td style="padding-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_MajorCustomersAxis=tpcs_CustomerAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_CustomerAMember</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_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_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_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_srt_MajorCustomersAxis=tpcs_CustomerBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_CustomerBMember</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=tpcs_CustomerCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_CustomerCMember</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=tpcs_CustomerDMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_CustomerDMember</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=tpcs_CustomerEMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_CustomerEMember</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>61
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441738338464">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>REVENUE - Contract assets and contract liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_ContractWithCustomerAssetNetCurrent', window );">Contract assets</a></td>
<td class="nump">$ 8,526,726<span></span>
</td>
<td class="nump">$ 8,947,811<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">3,787,933<span></span>
</td>
<td class="nump">2,333,591<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_TimingOfTransferOfGoodOrServiceAxis=tpcs_DeferredRevenueMember', window );">Deferred revenue</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities</a></td>
<td class="nump">2,103,567<span></span>
</td>
<td class="nump">1,195,298<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_TimingOfTransferOfGoodOrServiceAxis=tpcs_CustomerDepositsMember', window );">Customer Deposits</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities</a></td>
<td class="nump">1,684,366<span></span>
</td>
<td class="nump">1,138,293<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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember', window );">Unbilled</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_ContractWithCustomerAssetNetCurrent', window );">Contract assets</a></td>
<td class="nump">19,254,512<span></span>
</td>
<td class="nump">19,485,914<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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=tpcs_AdjustmentsProgressPaymentsReceivableMember', window );">Progress Payments</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_DisaggregationOfRevenueLineItems', window );"><strong>REVENUE</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_ContractWithCustomerAssetNetCurrent', window );">Contract assets</a></td>
<td class="num">$ (10,727,786)<span></span>
</td>
<td class="num">$ (10,538,103)<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_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_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_TimingOfTransferOfGoodOrServiceAxis=tpcs_DeferredRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TimingOfTransferOfGoodOrServiceAxis=tpcs_DeferredRevenueMember</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_TimingOfTransferOfGoodOrServiceAxis=tpcs_CustomerDepositsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TimingOfTransferOfGoodOrServiceAxis=tpcs_CustomerDepositsMember</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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember</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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=tpcs_AdjustmentsProgressPaymentsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=tpcs_AdjustmentsProgressPaymentsReceivableMember</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>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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441740120912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE - Additional information (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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</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_RevenueRemainingPerformanceObligation', window );">Remaining performance obligation amount</a></td>
<td class="nump">$ 50.0<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_tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50', window );">Revenue remaining performance obligation completed less than 50%</a></td>
<td class="nump">$ 41.4<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_RevenueRemainingPerformanceObligationPercentage', window );">Revenue, remaining performance obligation, percentage</a></td>
<td class="nump">50.00%<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_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized by contract liabilities</a></td>
<td class="nump">$ 1.2<span></span>
</td>
<td class="nump">$ 1.8<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>REVENUE</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Remaining performance obligation expected timing of satisfaction period</a></td>
<td class="text">3 months<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>
</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</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Remaining performance obligation expected timing of satisfaction period</a></td>
<td class="text">36 months<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_tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 completed 50% of 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;">tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_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_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_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>63
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441744618272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Income tax provision (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Loss before income taxes</a></td>
<td class="num">$ (5,109,945)<span></span>
</td>
<td class="num">$ (783,422)<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">1,932,227<span></span>
</td>
<td class="nump">195,584<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_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net loss</a></td>
<td class="num">(7,042,172)<span></span>
</td>
<td class="num">(979,006)<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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current:</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_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">1,041<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_CurrentIncomeTaxExpenseBenefit', window );">Total Current</a></td>
<td class="nump">1,041<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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Deferred:</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_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">2,087,627<span></span>
</td>
<td class="num">(261,372)<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_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="num">(156,441)<span></span>
</td>
<td class="nump">456,956<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_DeferredIncomeTaxExpenseBenefit', window );">Total Deferred</a></td>
<td class="nump">1,931,186<span></span>
</td>
<td class="nump">195,584<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_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">$ 1,932,227<span></span>
</td>
<td class="nump">$ 195,584<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_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) pertaining to taxable 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/2003/role/disclosureRef<br> -Topic 740<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/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_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-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_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</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 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 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/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_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-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_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</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 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 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<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_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-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> -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_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</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 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 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<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_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-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_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/2009/role/commonPracticeRef<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/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><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 8: 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/2147477250/944-220-S99-1<br><br>Reference 9: 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 10: 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/2147477314/942-235-S99-1<br><br>Reference 11: 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 12: 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/2147478524/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_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 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<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 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: 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 7: 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 8: 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 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> -Subparagraph (h)<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 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/2147477250/944-220-S99-1<br><br>Reference 11: 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 12: 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_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 3: 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 4: 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 5: 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 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 6.B)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-5<br><br>Reference 7: 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 8: 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 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-11<br><br>Reference 10: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-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>64
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739652080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - U.S. Federal Statutory Rate To Actual Tax Provision (Benefit) For Income Taxes (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">U.S. statutory income tax</a></td>
<td class="num">$ (1,073,088)<span></span>
</td>
<td class="num">$ (164,519)<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 tax, net of federal benefit</a></td>
<td class="num">(164,433)<span></span>
</td>
<td class="num">(151,878)<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_tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity', window );">Nondeductible items related to business combination and dissolved foreign entity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65,482<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_IncomeTaxReconciliationChangeInEnactedTaxRate', window );">Change in state NOLs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">239,622<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_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="nump">3,141,588<span></span>
</td>
<td class="nump">216,485<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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(20,983)<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_IncomeTaxReconciliationOtherReconcilingItems', window );">Other</a></td>
<td class="nump">28,160<span></span>
</td>
<td class="nump">11,375<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">$ 1,932,227<span></span>
</td>
<td class="nump">$ 195,584<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_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">37.80%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represent of Nondeductible items related to dissolved foreign 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;">tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 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 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: 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><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -SubTopic 740<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479176/718-740-35-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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount</td>
</tr>
<tr>
<td style="padding-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_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 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<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 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: 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 7: 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 8: 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 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> -Subparagraph (h)<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 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/2147477250/944-220-S99-1<br><br>Reference 11: 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 12: 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_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 increase (decrease) in the valuation allowance for 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/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 12A<br> -Subparagraph (a)(6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: 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_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-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_IncomeTaxReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 increase (decrease) in the income tax 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 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 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 12A<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-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_IncomeTaxReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-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><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeTaxReconciliationOtherReconcilingItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying statutory federal (national) tax rate to pretax income (loss) from continuing operation attributable to other reconciling item. Excludes state and local income tax expense (benefit), federal tax expense (benefit), statutory income tax expense (benefit) outside of country of domicile, tax credit, nondeductible expense, deduction, income tax settlement, income tax contingency, and cross-border tax law.</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> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: 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_IncomeTaxReconciliationOtherReconcilingItems</td>
</tr>
<tr>
<td style="padding-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/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 12A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: 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>65
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441742677792">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INCOME TAXES - Deferred Taxes (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_DeferredTaxAssetsNetAbstract', window );"><strong>Deferred tax 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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss carryforward</a></td>
<td class="nump">$ 6,302,402<span></span>
</td>
<td class="nump">$ 5,839,915<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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation', window );">Compensation</a></td>
<td class="nump">142,232<span></span>
</td>
<td class="nump">213,308<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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock based compensation awards</a></td>
<td class="nump">7,525<span></span>
</td>
<td class="nump">242,579<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_tpcs_DeferredTaxAssetsOperatingLeases', window );">Operating leases</a></td>
<td class="nump">1,195,891<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther', window );">Other items not currently deductible</a></td>
<td class="nump">536,664<span></span>
</td>
<td class="nump">126,792<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_DeferredTaxAssetsGross', window );">Total deferred tax assets</a></td>
<td class="nump">8,184,714<span></span>
</td>
<td class="nump">6,422,594<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_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(5,311,680)<span></span>
</td>
<td class="num">(2,170,094)<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_DeferredTaxAssetsNet', window );">Net deferred tax assets</a></td>
<td class="nump">2,873,034<span></span>
</td>
<td class="nump">4,252,500<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_DeferredTaxLiabilitiesNetAbstract', window );"><strong>Deferred tax 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_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Depreciation</a></td>
<td class="num">(1,562,744)<span></span>
</td>
<td class="num">(1,971,644)<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_DeferredTaxLiabilitiesLeasingArrangements', window );">Operating leases</a></td>
<td class="num">(1,157,079)<span></span>
</td>
<td class="nump">0<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_tpcs_DeferredTaxLiabilitiesContractAccountingMethods', window );">Contract accounting methods</a></td>
<td class="num">(153,211)<span></span>
</td>
<td class="num">(349,670)<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_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="num">$ (2,873,034)<span></span>
</td>
<td class="num">(2,321,314)<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_DeferredTaxAssetsLiabilitiesNet', window );">Deferred taxes, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,931,186<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_DeferredTaxAssetsOperatingLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from 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;">tpcs_DeferredTaxAssetsOperatingLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_DeferredTaxLiabilitiesContractAccountingMethods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Deferred Tax Liabilities Contract Accounting Methods.</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;">tpcs_DeferredTaxLiabilitiesContractAccountingMethods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax liability attributable to taxable temporary differences.</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(26)(b))<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 740<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/2147482685/740-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(26)(a))<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 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/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_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</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 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-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_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, without 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-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_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carryforwards.</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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-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_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredTaxAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-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_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from employee compensation.</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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from reserves and accruals, 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax assets for which it is more likely than not that a tax benefit will not be realized.</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 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-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_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxLiabilitiesLeasingArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax liability attributable to taxable temporary differences from leasing arrangements.</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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-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_DeferredTaxLiabilitiesLeasingArrangements</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxLiabilitiesNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredTaxLiabilitiesNetAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax liability attributable to taxable temporary differences from property, plant, and equipment.</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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-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_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-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>66
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441740655008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Carryforwards and Unrecognized Tax Benefits (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems', window );"><strong>Carryforwards of net operating losses and tax credits</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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax rate</a></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_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance on deferred tax assets</a></td>
<td class="nump">$ 5,311,680<span></span>
</td>
<td class="nump">$ 2,170,094<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_TaxPeriodAxis=tpcs_TaxYearsPriorToTwoThousandTwentyOneMember', window );">Tax Years Prior to 2021</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_tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems', window );"><strong>Carryforwards of net operating losses and tax credits</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_OperatingLossCarryforwards', window );">Net operating losses</a></td>
<td class="nump">9,900,000<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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Federal</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_tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems', window );"><strong>Carryforwards of net operating losses and tax credits</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_OperatingLossCarryforwards', window );">Net operating losses</a></td>
<td class="nump">$ 19,300,000<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_tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax assets for which it is more likely than not that a tax benefit will not be realized.</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 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-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_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-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_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 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 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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.1.Q1)<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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</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 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-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_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-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_TaxPeriodAxis=tpcs_TaxYearsPriorToTwoThousandTwentyOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TaxPeriodAxis=tpcs_TaxYearsPriorToTwoThousandTwentyOneMember</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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</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>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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441738054608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CAPITAL STOCK and EARNINGS PER SHARE - (EPS) (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_EarningsPerShareBasicAbstract', window );"><strong>Basic EPS</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_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net loss</a></td>
<td class="num">$ (7,042,172)<span></span>
</td>
<td class="num">$ (979,006)<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 shares</a></td>
<td class="nump">8,717,160<span></span>
</td>
<td class="nump">8,595,992<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 );">Net loss per share</a></td>
<td class="num">$ (0.81)<span></span>
</td>
<td class="num">$ (0.11)<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_EarningsPerShareDilutedAbstract', window );"><strong>Diluted EPS</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_NetIncomeLossAvailableToCommonStockholdersDiluted', window );">Net loss</a></td>
<td class="num">$ (7,042,172)<span></span>
</td>
<td class="num">$ (979,006)<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 );">Weighted average shares</a></td>
<td class="nump">8,717,160<span></span>
</td>
<td class="nump">8,595,992<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 );">Net loss per share</a></td>
<td class="num">$ (0.81)<span></span>
</td>
<td class="num">$ (0.11)<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</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_EarningsPerShareDilutedAbstract', window );"><strong>Diluted EPS</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities excluded from computation of earnings per share amount (in shares)</a></td>
<td class="nump">542,500<span></span>
</td>
<td class="nump">680,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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_WarrantMember', window );">Warrant [Member]</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_EarningsPerShareDilutedAbstract', window );"><strong>Diluted EPS</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities excluded from computation of earnings per share amount (in shares)</a></td>
<td class="nump">25,000<span></span>
</td>
<td class="nump">25,000<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_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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<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 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 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 (e)(4)<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 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 9: 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 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 (b)<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 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: 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 14: 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 15: 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 16: 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 17: 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 18: 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/2147478524/942-220-S99-1<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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_EarningsPerShareBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareBasicAbstract</td>
</tr>
<tr>
<td style="padding-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_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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<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 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 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 (e)(4)<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 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 9: 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 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 (b)<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 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: 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 14: 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 15: 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 16: 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 17: 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/2147478524/942-220-S99-1<br><br>Reference 18: 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/2147477250/944-220-S99-1<br><br>Reference 19: 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_EarningsPerShareDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareDilutedAbstract</td>
</tr>
<tr>
<td style="padding-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_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 3: 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 4: 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 5: 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 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 6.B)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-5<br><br>Reference 7: 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 8: 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 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-11<br><br>Reference 10: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-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_NetIncomeLossAvailableToCommonStockholdersDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders.</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 5<br> -Subparagraph (SAB Topic 6.B)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-5<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 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<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 40<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-40<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 60B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-40<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-40<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 40<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-40<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted</td>
</tr>
<tr>
<td style="padding-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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_WarrantMember</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>68
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441740709472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CAPITAL STOCK and EARNINGS PER SHARE - Additional Information (Details)<br></strong></div></th>
<th class="th">
<div>Feb. 23, 2023 </div>
<div>shares</div>
</th>
<th class="th">
<div>Mar. 31, 2024 </div>
<div>series </div>
<div>shares</div>
</th>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>shares</div>
</th>
<th class="th">
<div>Feb. 22, 2023 </div>
<div>shares</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>CAPITAL STOCK and EARNINGS 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_StockholdersEquityNoteStockSplitConversionRatio1', window );">Reverse stock split conversion ratio</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>
</tr>
<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 );">Number of authorized common shares</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">90,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_CommonStockSharesOutstanding', window );">Number of outstanding common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,777,432<span></span>
</td>
<td class="nump">8,613,408<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_PreferredStockSharesAuthorized', window );">Preferred Stock, Shares Authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,000,000<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_tpcs_NumberOfSeriesOfPreferredStockShares', window );">Number of series of preferred stock | series</a></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_PreferredStockSharesOutstanding', window );">Shares of preferred stock outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_tpcs_NumberOfSeriesOfPreferredStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 series of preferred stock, shares of which can be issued by the 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;">tpcs_NumberOfSeriesOfPreferredStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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>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://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 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(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-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_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_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://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 3: 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/2147479170/946-210-S99-2<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(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: 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/2147479170/946-210-S99-1<br><br>Reference 6: 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/2147479134/946-220-S99-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_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_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_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://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://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/2147479170/946-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_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_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://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://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/2147479170/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/2147479134/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/2147479170/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/2147479134/946-220-S99-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_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_StockholdersEquityNoteStockSplitConversionRatio1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Ratio applied to the conversion of stock split, for example but not limited to, one share converted to two or two shares converted to one.</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 4<br> -Subparagraph (SAB Topic 4.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-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_StockholdersEquityNoteStockSplitConversionRatio1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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>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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441740180976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION - Stock option activity (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number Of Options</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 );">Outstanding at the beginning of the period (in shares)</a></td>
<td class="nump">667,500<span></span>
</td>
<td class="nump">667,500<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 );">Exercised (in shares)</a></td>
<td class="num">(125,000)<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 );">Outstanding at the end of the period (in shares)</a></td>
<td class="nump">542,500<span></span>
</td>
<td class="nump">667,500<span></span>
</td>
<td class="nump">667,500<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Vested or expected to vest at the end of the period (in shares)</a></td>
<td class="nump">542,500<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable and vested at the end of the period (in shares)</a></td>
<td class="nump">542,500<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted Average Exercise Price</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding at the beginning of the period (in dollars per share)</a></td>
<td class="nump">$ 1.37<span></span>
</td>
<td class="nump">$ 1.37<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 );">Exercised (in dollars per share)</a></td>
<td class="nump">0.68<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 );">Outstanding at the end of the period (in dollars per share)</a></td>
<td class="nump">1.53<span></span>
</td>
<td class="nump">$ 1.37<span></span>
</td>
<td class="nump">$ 1.37<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Vested or expected to vest at the end of the period (in dollars per share)</a></td>
<td class="nump">1.53<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable and vested at the end of the period (in dollars per share)</a></td>
<td class="nump">$ 1.53<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_tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract', window );"><strong>Aggregate Intrinsic Value</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Outstanding value at the beginning of the period</a></td>
<td class="nump">$ 3,804,625<span></span>
</td>
<td class="nump">$ 3,597,700<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 );">Exercised</a></td>
<td class="nump">846,250<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 );">Outstanding value at the end of the period</a></td>
<td class="nump">1,128,825<span></span>
</td>
<td class="nump">$ 3,804,625<span></span>
</td>
<td class="nump">$ 3,597,700<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Vested or expected to vest at the end of the period</a></td>
<td class="nump">1,128,825<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Exercisable and vested at the end of the period</a></td>
<td class="nump">$ 1,128,825<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_tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract', window );"><strong>Weighted Average Remaining Contractual Life (in years)</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Outstanding at the end of the period</a></td>
<td class="text">2 years 11 months 4 days<span></span>
</td>
<td class="text">3 years 8 months 12 days<span></span>
</td>
<td class="text">4 years 7 months 28 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested or expected to vest at the end of the period</a></td>
<td class="text">2 years 11 months 4 days<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Exercisable and vested at the end of the period</a></td>
<td class="text">2 years 11 months 4 days<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_tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_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_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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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 (e)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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 (e)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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 (e)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_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_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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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 (e)(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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441738022832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2024 </div>
<div>$ / shares </div>
<div>shares</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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Options Outstanding | shares</a></td>
<td class="nump">542,500<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Options Exercisable | shares</a></td>
<td class="nump">542,500<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=tpcs_RangeOneMember', window );">Range One</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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Exercise Price, Lower Range</a></td>
<td class="nump">$ 0.01<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Exercise Price, Upper Range</a></td>
<td class="nump">$ 0.99<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Options Outstanding | shares</a></td>
<td class="nump">192,500<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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Options Outstanding, Weighted Average Remaining Contractual Term</a></td>
<td class="text">1 year 4 months 9 days<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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Options Outstanding, Weighted Average Exercise Price</a></td>
<td class="nump">$ 0.32<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Options Exercisable | shares</a></td>
<td class="nump">192,500<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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Options Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">$ 0.32<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=tpcs_RangeTwoMember', window );">Range Two</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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>STOCK-BASED COMPENSATION</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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Exercise Price, Lower Range</a></td>
<td class="nump">2.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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Exercise Price, Upper Range</a></td>
<td class="nump">$ 2.99<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Options Outstanding | shares</a></td>
<td class="nump">350,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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Options Outstanding, Weighted Average Remaining Contractual Term</a></td>
<td class="text">3 years 1 month 28 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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Options Outstanding, Weighted Average Exercise Price</a></td>
<td class="nump">$ 2.19<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Options Exercisable | shares</a></td>
<td class="nump">350,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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Options Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">$ 2.19<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.</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 (g)<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.</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)(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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices.</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> -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 2: http://fasb.org/us-gaap/role/ref/legacyRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.</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 (g)<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit</td>
</tr>
<tr>
<td style="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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and 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> -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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1</td>
</tr>
<tr>
<td style="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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices.</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> -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 2: http://fasb.org/us-gaap/role/ref/legacyRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1</td>
</tr>
<tr>
<td style="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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of outstanding stock options, 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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=tpcs_RangeOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=tpcs_RangeOneMember</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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=tpcs_RangeTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=tpcs_RangeTwoMember</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>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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741540560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION - Additional information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 02, 2024</div></th>
<th class="th"><div>Aug. 03, 2023</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', 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>
<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Maximum contractual term (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 11 months 4 days<span></span>
</td>
<td class="text">3 years 8 months 12 days<span></span>
</td>
<td class="text">4 years 7 months 28 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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term</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>
</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 based compensation and restricted stock awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 284,925<span></span>
</td>
<td class="nump">$ 253,079<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1', window );">Fair value of shares expected to vest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 110,700<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_RestrictedStockMember', window );">Restricted 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>
</tr>
<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>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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted a total of shares of restricted stock</a></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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary', window );">Number of shares will vest on each of the first, second, and third anniversaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,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="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 based compensation and restricted stock awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">284,925<span></span>
</td>
<td class="nump">$ 109,079<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_EmployeeBenefitsAndShareBasedCompensation', window );">Compensation cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,675<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Unrecognized compensation cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 83,025<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=tpcs_EquityIncentivePlan2016Member', window );">2016 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>
</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>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>
<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 );">Shares reserved</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,250,000<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for grant</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">257,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_RangeAxis=srt_MaximumMember', window );">Maximum | 2016 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>
</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>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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,250,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_srt_TitleOfIndividualAxis=tpcs_FormerChiefFinancialOfficerMember', window );">Former chief financial officer | 2016 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>
</tr>
<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>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>
<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_StockIssuedDuringPeriodSharesIssuedForServices', window );">Restricted stock award (in shares)</a></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>
<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_tpcs_StockIssuedForFinderFee', window );">Stock Issued For Finder Fee</a></td>
<td class="nump">$ 79,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>
<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_tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to be vested on each anniversary.</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;">tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_StockIssuedForFinderFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock issued for finder's fee.</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;">tpcs_StockIssuedForFinderFee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_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> -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_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_EmployeeBenefitsAndShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense for employee benefit and equity-based 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;">us-gaap_EmployeeBenefitsAndShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to be recognized for 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/2009/role/commonPracticeRef<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-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_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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 authorized for issuance 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/exampleRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of 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 (f)(2)(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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.</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_StockIssuedDuringPeriodSharesIssuedForServices</td>
</tr>
<tr>
<td style="padding-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_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockMember</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=tpcs_EquityIncentivePlan2016Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_EquityIncentivePlan2016Member</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_srt_TitleOfIndividualAxis=tpcs_FormerChiefFinancialOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_FormerChiefFinancialOfficerMember</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>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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441738932416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION - Board of directors common stock award (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Oct. 11, 2023</div></th>
<th class="th"><div>Sep. 15, 2022</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_AwardTypeAxis=tpcs_ServiceBasedRestrictedStockTwoMember', window );">Service-based restricted stock two</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', 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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Fair value estimated on grant date</a></td>
<td class="nump">$ 177,750<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=tpcs_EquityIncentivePlan2016Member', window );">2016 Plan | Service-based restricted stock one</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted a total of shares of restricted stock</a></td>
<td class="nump">25,000<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_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementNonemployeeMember', window );">Non-employee director | Employee Stock Option</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', 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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual', window );">Common stock shares granted to each non-employee director (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,250<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 );">Aggregate common stock shares granted to non-employee director (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,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_tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue', window );">Fair value of the award</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 144,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount reflects the fair value of the award granted.</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;">tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to each individual 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;">tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense for award under share-based payment arrangement. Excludes amount capitalized.</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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<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 (h)(1)(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_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-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_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_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_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://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 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://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 5: 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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=tpcs_ServiceBasedRestrictedStockTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_ServiceBasedRestrictedStockTwoMember</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=tpcs_EquityIncentivePlan2016Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_EquityIncentivePlan2016Member</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=tpcs_ServiceBasedRestrictedStockOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_ServiceBasedRestrictedStockOneMember</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_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementNonemployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementNonemployeeMember</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441742743136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONCENTRATION OF RISK (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2024 </div>
<div>USD ($) </div>
<div>customer</div>
</th>
<th class="th">
<div>Mar. 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_ConcentrationRiskLineItems', window );"><strong>CONCENTRATION OF RISK</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_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 2,371,264<span></span>
</td>
<td class="nump">$ 2,336,481<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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable | Customer concentration risk | Customer A</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_ConcentrationRiskLineItems', window );"><strong>CONCENTRATION OF RISK</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_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 940,279<span></span>
</td>
<td class="nump">$ 730,514<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 );">Concentration risk percentage</a></td>
<td class="nump">40.00%<span></span>
</td>
<td class="nump">31.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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable | Customer concentration risk | Customer B</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_ConcentrationRiskLineItems', window );"><strong>CONCENTRATION OF RISK</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_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 260,177<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 );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable | Customer concentration risk | Customer C</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_ConcentrationRiskLineItems', window );"><strong>CONCENTRATION OF RISK</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_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 423,198<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 );">Concentration risk percentage</a></td>
<td class="nump">18.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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable | Customer concentration risk | Customer D</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_ConcentrationRiskLineItems', window );"><strong>CONCENTRATION OF RISK</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_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 265,755<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 );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable | Customer concentration risk | Customers</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_ConcentrationRiskLineItems', window );"><strong>CONCENTRATION OF RISK</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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">10.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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable | Customer concentration risk | One supplier</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_ConcentrationRiskLineItems', window );"><strong>CONCENTRATION OF RISK</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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">34.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_ConcentrationRiskByBenchmarkAxis=tpcs_TradeReceivablesMember', window );">Trade Receivables</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_ConcentrationRiskLineItems', window );"><strong>CONCENTRATION OF RISK</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_tpcs_NumberOfSignificantCustomers', window );">Number of significant customers | customer</a></td>
<td class="nump">2<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_ConcentrationRiskByBenchmarkAxis=tpcs_TradeReceivablesMember', window );">Trade Receivables | Customer concentration risk | Customers ACD</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_ConcentrationRiskLineItems', window );"><strong>CONCENTRATION OF RISK</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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">58.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_tpcs_NumberOfSignificantCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 significant customers on whom the entity relies, giving rise to concentration of risk.</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;">tpcs_NumberOfSignificantCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_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/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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/2147478785/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_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_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_srt_MajorCustomersAxis=tpcs_CustomerAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_CustomerAMember</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=tpcs_CustomerBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_CustomerBMember</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=tpcs_CustomerCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_CustomerCMember</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=tpcs_CustomerDMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_CustomerDMember</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=tpcs_Customers.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_Customers.Member</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=tpcs_OneSupplierMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_OneSupplierMember</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=tpcs_TradeReceivablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_TradeReceivablesMember</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=tpcs_CustomerCDMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_CustomerCDMember</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>74
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739772656">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>OTHER CURRENT ASSETS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_PrepaidExpenseAndOtherAssetsCurrentAbstract', window );"><strong>OTHER 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_PrepaidInsurance', window );">Prepaid insurance</a></td>
<td class="nump">$ 336,578<span></span>
</td>
<td class="nump">$ 162,075<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_tpcs_PrepaidSubscriptions', window );">Prepaid subscriptions</a></td>
<td class="nump">119,983<span></span>
</td>
<td class="nump">120,570<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_PrepaidTaxes', window );">Prepaid taxes</a></td>
<td class="nump">27,266<span></span>
</td>
<td class="nump">9,616<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_Supplies', window );">Supplier advances</a></td>
<td class="nump">26,142<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_tpcs_DepositsCurrent', window );">Deposits</a></td>
<td class="nump">19,800<span></span>
</td>
<td class="nump">21,706<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_tpcs_AdvancesToEmployee', window );">Employee advances</a></td>
<td class="nump">16,978<span></span>
</td>
<td class="nump">4,561<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_tpcs_PrepaidAdvisoryFeesOther', window );">Prepaid advisory fees, other</a></td>
<td class="nump">16,941<span></span>
</td>
<td class="nump">30,455<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_OtherAssetsCurrent', window );">Total</a></td>
<td class="nump">$ 563,688<span></span>
</td>
<td class="nump">$ 348,983<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_AdvancesToEmployee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 advances paid to employees.</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;">tpcs_AdvancesToEmployee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_DepositsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 asset related to deposits.</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;">tpcs_DepositsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_PrepaidAdvisoryFeesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 asset related to other advisory fees paid in advance.</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;">tpcs_PrepaidAdvisoryFeesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_PrepaidSubscriptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 subscriptions paid in advance 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>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;">tpcs_PrepaidSubscriptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_PrepaidExpenseAndOtherAssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PrepaidExpenseAndOtherAssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-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_PrepaidInsurance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 insurance that provides 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)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<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><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482955/340-10-05-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_PrepaidInsurance</td>
</tr>
<tr>
<td style="padding-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_PrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income and other taxes 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)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<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><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482955/340-10-05-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_PrepaidTaxes</td>
</tr>
<tr>
<td style="padding-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_Supplies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 consideration paid in advance for supplies 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)(7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<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><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482955/340-10-05-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_Supplies</td>
</tr>
<tr>
<td style="padding-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>75
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441740614544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, PLANT AND EQUIPMENT, NET (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</strong></a></td>
<td class="text">&#160;<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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Total property, plant, and equipment</a></td>
<td class="nump">$ 29,143,349<span></span>
</td>
<td class="nump">$ 26,572,388<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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization', window );">Less: accumulated depreciation and amortization</a></td>
<td class="num">(14,345,358)<span></span>
</td>
<td class="num">(12,658,364)<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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Total property, plant and equipment, net</a></td>
<td class="nump">14,797,991<span></span>
</td>
<td class="nump">13,914,024<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_CostOfGoodsAndServicesSoldDepreciation', window );">Depreciation expense</a></td>
<td class="nump">1,746,103<span></span>
</td>
<td class="nump">1,557,910<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_tpcs_ProceedsFromFixedAssetsInsuranceSettlement', window );">Proceeds from fixed assets insurance settlement</a></td>
<td class="nump">61,944<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_InterestCostsCapitalized', window );">Capitalized interest</a></td>
<td class="nump">18,642<span></span>
</td>
<td class="nump">14,297<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember', window );">Land</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_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, Gross</a></td>
<td class="nump">110,113<span></span>
</td>
<td class="nump">110,113<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and improvements</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_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, Gross</a></td>
<td class="nump">3,293,986<span></span>
</td>
<td class="nump">3,293,986<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_PropertyPlantAndEquipmentByTypeAxis=tpcs_MachineryEquipmentFurnitureAndFixturesMember', window );">Machinery equipment, furniture, and fixtures</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_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, Gross</a></td>
<td class="nump">25,590,644<span></span>
</td>
<td class="nump">23,018,713<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember', window );">Construction-in-progress</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_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, Gross</a></td>
<td class="nump">148,606<span></span>
</td>
<td class="nump">$ 149,576<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and equipment</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_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</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_PropertyPlantAndEquipmentDisposals', window );">Book value</a></td>
<td class="nump">$ 22,815<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_tpcs_ProceedsFromFixedAssetsInsuranceSettlement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for proceeds from fixed assets insurance settlement.</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;">tpcs_ProceedsFromFixedAssetsInsuranceSettlement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_CostOfGoodsAndServicesSoldDepreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense for allocation of cost of tangible asset over its useful life directly used in production of good and rendering of service.</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 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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<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/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_CostOfGoodsAndServicesSoldDepreciation</td>
</tr>
<tr>
<td style="padding-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_InterestCostsCapitalized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest capitalized 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 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483013/835-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_InterestCostsCapitalized</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 depreciation and amortization from plant, property, and equipment and right-of-use asset from finance 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/2009/role/commonPracticeRef<br> -Topic 360<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/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and amortization, of property, plant, and equipment and finance lease right-of-use asset.</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 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</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 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-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(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentDisposals">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 divestiture of long-lived, physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</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_PropertyPlantAndEquipmentDisposals</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</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)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-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(13))<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 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<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_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</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_PropertyPlantAndEquipmentByTypeAxis=tpcs_MachineryEquipmentFurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=tpcs_MachineryEquipmentFurnitureAndFixturesMember</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</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>76
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739695824">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>ACCRUED EXPENSES (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_PayablesAndAccrualsAbstract', window );"><strong>ACCRUED EXPENSES</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_EmployeeRelatedLiabilitiesCurrent', window );">Accrued compensation</a></td>
<td class="nump">$ 1,172,262<span></span>
</td>
<td class="nump">$ 1,257,245<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_LossContingencyAccrualAtCarryingValue', window );">Provision for claims</a></td>
<td class="nump">516,972<span></span>
</td>
<td class="nump">256,227<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_ProvisionForLossOnContracts', window );">Provision for contract losses</a></td>
<td class="nump">293,324<span></span>
</td>
<td class="nump">102,954<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_AccruedProfessionalFeesCurrent', window );">Accrued professional fees</a></td>
<td class="nump">458,636<span></span>
</td>
<td class="nump">241,195<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_tpcs_AccruedProjectCosts', window );">Accrued project costs</a></td>
<td class="nump">560,428<span></span>
</td>
<td class="nump">440,550<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_tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent', window );">Accrued breakup fee</a></td>
<td class="nump">1,116,800<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_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">144,064<span></span>
</td>
<td class="nump">235,014<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_AccruedLiabilitiesCurrent', window );">Total</a></td>
<td class="nump">$ 4,262,486<span></span>
</td>
<td class="nump">$ 2,533,185<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accrued breakup fee in connection with termination of acquisition event.</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;">tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_AccruedProjectCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 project cost.</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;">tpcs_AccruedProjectCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<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_AccruedProfessionalFeesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 professional fees, such as for legal and accounting services received. 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<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_AccruedProfessionalFeesCurrent</td>
</tr>
<tr>
<td style="padding-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_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<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_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-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_LossContingencyAccrualAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss contingency 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 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-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_LossContingencyAccrualAtCarryingValue</td>
</tr>
<tr>
<td style="padding-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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-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_ProvisionForLossOnContracts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cumulative provision for contract losses not offset against related costs accumulated on the balance sheet.</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 605<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481187/605-35-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_ProvisionForLossOnContracts</td>
</tr>
<tr>
<td style="padding-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>77
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441738271024">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>DEBT - Long-term Debt (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_DebtInstrumentLineItems', window );"><strong>DEBT</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_DebtInstrumentCarryingAmount', window );">Total debt</a></td>
<td class="nump">$ 7,647,918<span></span>
</td>
<td class="nump">$ 6,113,013<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_DeferredFinanceCostsNet', window );">Less: debt issue costs unamortized</a></td>
<td class="nump">89,235<span></span>
</td>
<td class="nump">145,712<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_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities', window );">Total debt, net</a></td>
<td class="nump">7,558,683<span></span>
</td>
<td class="nump">5,967,301<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_LongTermDebtAndCapitalLeaseObligationsCurrent', window );">Less: Current portion of long-term debt</a></td>
<td class="nump">7,558,683<span></span>
</td>
<td class="nump">1,218,162<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_LongTermDebtAndCapitalLeaseObligations', window );">Total long-term debt, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,749,139<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_DebtInstrumentAxis=tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member', window );">Stadco Term Loan, at 3.79% interest, due August 2028</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_DebtInstrumentLineItems', window );"><strong>DEBT</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_DebtInstrumentCarryingAmount', window );">Total debt</a></td>
<td class="nump">$ 2,647,275<span></span>
</td>
<td class="nump">3,186,495<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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">3.79%<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_DebtInstrumentAxis=tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member', window );">Ranor Term Loan, at 6.05% interest, due December 2027</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_DebtInstrumentLineItems', window );"><strong>DEBT</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_DebtInstrumentCarryingAmount', window );">Total debt</a></td>
<td class="nump">$ 2,215,643<span></span>
</td>
<td class="nump">2,276,518<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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">6.05%<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_DebtInstrumentAxis=tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member', window );">Ranor Revolver Loan, at 7.69% interest, due August 2024</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_DebtInstrumentLineItems', window );"><strong>DEBT</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_DebtInstrumentCarryingAmount', window );">Total debt</a></td>
<td class="nump">$ 2,785,000<span></span>
</td>
<td class="nump">$ 650,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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">7.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_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</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://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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<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/2147481139/470-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_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</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(22)(a)(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/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="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_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<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(f))<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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<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> -Subparagraph (a)<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/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69F<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 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<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 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<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 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<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 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 14: 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 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 18: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 19: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 20: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 25: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 26: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-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_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-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_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</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 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-1A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsNet</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtAndCapitalLeaseObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term debt and lease obligation, classified as noncurrent.</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 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/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_LongTermDebtAndCapitalLeaseObligations</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtAndCapitalLeaseObligationsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term debt and lease obligation, classified as current.</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(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_LongTermDebtAndCapitalLeaseObligationsCurrent</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term debt and lease obligation, including portion classified as current.</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_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentAxis=tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member</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_DebtInstrumentAxis=tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member</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_DebtInstrumentAxis=tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member</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>78
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441730317408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEBT - Additional Information (Details)<br></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="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 01, 2024</div></th>
<th class="th"><div>May 31, 2024</div></th>
<th class="th"><div>Dec. 30, 2022</div></th>
<th class="th">
<div>Dec. 23, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 25, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 21, 2016 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 21, 2016 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th">
<div>Mar. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>May 28, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>May 24, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>May 23, 2024 </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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_tpcs_ProceedsFromTermLoan', window );">Proceeds from term loan</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">$ 7,160,000<span></span>
</td>
<td class="nump">$ 10,885,150<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_tpcs_DefaultInterestRate', window );">Default interest rate</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">5<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_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Unused borrowing capacity</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">$ 500,000<span></span>
</td>
<td class="nump">4,200,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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tpcs_CapitalExpendituresFromPurchaseOfFixedAssets', window );">Capital expenditures</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">3,230,237<span></span>
</td>
<td class="nump">2,325,301<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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent event</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>
</tr>
<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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 );">Basis spread on variable rate (as a percent)</a></td>
<td class="nump">2.50%<span></span>
</td>
<td class="nump">2.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>
<td class="text">&#160;<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="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=tpcs_RevolverLoanMember', window );">Revolver loan</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>
</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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</tr>
<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 );">Maximum principal amount</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">5,000,000.0<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_InterestExpenseDebt', window );">Interest payments</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">171,073<span></span>
</td>
<td class="nump">33,156<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_CreditFacilityAxis=tpcs_RevolverLoanMember', window );">Revolver loan | Subsequent event</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>
</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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</tr>
<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 );">Maximum principal amount</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="nump">$ 4,500,000<span></span>
</td>
<td class="nump">$ 4,500,000<span></span>
</td>
<td class="nump">$ 5,000,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_dei_LegalEntityAxis=tpcs_RanorIncMember', window );">Ranor, Inc.</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>
</tr>
<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_DeferredFinanceCostsGross', window );">Unamortized closing costs</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">$ 59,228<span></span>
</td>
<td class="nump">101,230<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>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</tr>
<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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</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">5.21%<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="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>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</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.05%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member', window );">Stadco Term Loan, at 3.79% interest, due August 2028</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>
</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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</tr>
<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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</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">3.79%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member', window );">Stadco Term Loan, at 3.79% interest, due August 2028 | Ranor, Inc. | Revolver loan</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>
</tr>
<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_DebtInstrumentFaceAmount', window );">Principal amount of debt</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">$ 4,000,000.0<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_DebtInstrumentFaceAmount', window );">Debt Instrument, Face Amount</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">4,000,000.0<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member', window );">Stadco Term Loan at 3.79% interest, due August 2028.</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>
</tr>
<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_DebtInstrumentFaceAmount', window );">Principal amount of debt</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">$ 4,000,000.0<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_DebtInstrumentTerm', window );">Maturity term</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">7 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>
<td class="text">&#160;<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_DebtInstrumentPeriodicPayment', window );">Monthly payments of principal and interest amount</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">$ 54,390<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_DebtInstrumentFaceAmount', window );">Debt Instrument, Face Amount</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">$ 4,000,000.0<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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate (as a percent)</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">2.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>
<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_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration', window );">Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]</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">tpcs:FederalHomeLoanBankOfBostonClassicAdvanceRateMember<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member', window );">Stadco Term Loan at 2.25% interest, due August 2028</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>
</tr>
<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_UnamortizedDebtIssuanceExpense', window );">Unamortized debt issuance 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30,007<span></span>
</td>
<td class="nump">$ 44,482<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_DebtInstrumentAxis=tpcs_RanorTermLoanMember', window );">Ranor term loan</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>
</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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_tpcs_RequiredMinimumDebtServiceCoverageRatio', window );">Required minimum debt service coverage ratio, solely with respect to the fiscal quarter ending December 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.2<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.1<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_DebtWeightedAverageInterestRate', window );">Weighted average interest rate (as a percent)</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">7.60%<span></span>
</td>
<td class="nump">5.02%<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_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Unused borrowing capacity</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">$ 500,000<span></span>
</td>
<td class="nump">$ 4,200,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_DebtInstrumentAxis=tpcs_RanorTermLoanMember', window );">Ranor term loan | 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>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance', window );">Maximum amount of borrowing base required to grant loan advance</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="nump">$ 5,000,000.0<span></span>
</td>
<td class="nump">$ 5,000,000.0<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_RanorTermLoanMember', window );">Ranor term loan | Revolver loan</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>
</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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</tr>
<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 );">Maximum principal amount</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="nump">$ 5,000,000.0<span></span>
</td>
<td class="nump">5,000,000.0<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_RanorTermLoanMember', window );">Ranor term loan | Ranor, Inc.</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>
</tr>
<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_tpcs_ProceedsFromTermLoan', window );">Proceeds from term loan</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">$ 2,850,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>
<td class="text">&#160;<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_RanorTermLoanMember', window );">Ranor term loan | 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>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</tr>
<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_DebtInstrumentPeriodicPayment', window );">Monthly payments of principal and interest amount</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">$ 16,601<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_RanorTermLoanMember', window );">Ranor term loan | 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>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_DebtInstrumentPeriodicPayment', window );">Monthly payments of principal and interest amount</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">$ 19,260<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_StadcoTermLoanMember', window );">Stadco Term Loan</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>
</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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_tpcs_LateChargeFeePercentage', window );">Late fee (in percent)</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">5<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_BerkshireLoanMember', window );">Berkshire Loan</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>
</tr>
<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_LineOfCredit', window );">Amount of debt outstanding</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">7,600,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>
<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_CapitalExpendituresIncurredButNotYetPaid', window );">Annual capital expenditure</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,500,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>
<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_tpcs_CapitalExpendituresFromPurchaseOfFixedAssets', window );">Capital expenditures</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">2,600,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>
<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_DebtInstrumentAxis=tpcs_BerkshireLoanMember', window );">Berkshire Loan | 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>
<td class="text">&#160;<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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances', window );">Debt instrument percentage of accounts receivable used for determination of aggregate amount of advances</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="nump">80.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>
</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_tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances', window );">Debt instrument percentage of eligible raw material used for determination of aggregate amount of advances</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="nump">25.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>
</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_tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase', window );">Amount included in sum to calculate maximum borrowing base</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="nump">$ 250,000<span></span>
</td>
<td class="nump">250,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>
<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_DebtInstrumentAxis=tpcs_BerkshireLoanMember', window );">Berkshire Loan | Revolver loan</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>
</tr>
<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_tpcs_ProceedsFromTermLoan', window );">Proceeds from term loan</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,000,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>
<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_tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance', window );">Maximum amount of borrowing base required to grant loan advance</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">5,000,000.0<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_LineOfCredit', window );">Amount of debt outstanding</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">$ 2,800,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>
<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_tpcs_NonrefundableCommitmentFeePercentages', window );">Nonrefundable commitment fee percentages</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">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>
</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_DebtInstrumentAxis=tpcs_BerkshireLoanMember', window );">Berkshire Loan | Secured Term Loan</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>
</tr>
<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_DebtInstrumentPeriodicPayment', window );">Monthly payments of principal and interest amount</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="nump">$ 19,260<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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</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="nump">5.21%<span></span>
</td>
<td class="nump">5.21%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_BerkshireLoanMember', window );">Berkshire Loan | Notes payables</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>
</tr>
<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances', window );">Debt Instrument percentage of appraised value Of equipment for determination of aggregate amount of advances</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="nump">80.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>
</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_DebtInstrumentAxis=tpcs_BerkshireLoanMember', window );">Berkshire Loan | Ranor, Inc.</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>
</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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio', window );">Debt instrument covenant trailing period for measurement of loan to value ratio</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">365 days<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_BerkshireLoanMember', window );">Berkshire Loan | Ranor, Inc. | Secured Term Loan</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>
</tr>
<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_DebtInstrumentFaceAmount', window );">Principal amount of debt</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="nump">$ 2,850,000<span></span>
</td>
<td class="nump">$ 2,850,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>
<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_DebtInstrumentFaceAmount', window );">Debt Instrument, Face Amount</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="nump">$ 2,850,000<span></span>
</td>
<td class="nump">$ 2,850,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>
<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_DebtInstrumentAxis=tpcs_BerkshireLoanMember', window );">Berkshire Loan | 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>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_tpcs_CashFlowRatioOfDebtService', window );">Cash flow ratio of debt service</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.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>
</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_tpcs_CashFlowToTotalDebtService', window );">Cash flow to total debt service</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.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>
</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_tpcs_DebtInstrumentCovenantLeverageRatioYearOne', window );">Debt instrument covenant leverage ratio year one</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.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>
</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_tpcs_DebtInstrumentCovenantLoanToValueRatio', window );">Loan-to-Value Ratio</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">0.75<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tpcs_BerkshireLoanMember', window );">Berkshire Loan | 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>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_tpcs_CashFlowRatioOfDebtService', window );">Cash flow ratio of debt service</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.20<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_tpcs_CashFlowToTotalDebtService', window );">Cash flow to total debt service</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.10<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_tpcs_DebtInstrumentCovenantLeverageRatioYearOne', window );">Debt instrument covenant leverage ratio year one</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">2.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>
<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_tpcs_DebtInstrumentCovenantLoanToValueRatio', window );">Loan-to-Value Ratio</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.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>
</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_DebtInstrumentAxis=tpcs_BerkshireLoanMember', window );">Berkshire Loan | Maximum | Revolver loan</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>
</tr>
<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_DebtInstrumentLineItems', window );"><strong>DEBT</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>
</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_tpcs_ProceedsFromTermLoan', window );">Proceeds from term loan</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">$ 2,000,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>
<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_tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 included in sum total to calculate borrowing base for advancing loans.</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;">tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_CapitalExpendituresFromPurchaseOfFixedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 capital expenditures from purchase of fixed 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;">tpcs_CapitalExpendituresFromPurchaseOfFixedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_CashFlowRatioOfDebtService">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 flow ratio of debt service.</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;">tpcs_CashFlowRatioOfDebtService</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_tpcs_CashFlowToTotalDebtService">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash flow to total debt service.</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;">tpcs_CashFlowToTotalDebtService</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_tpcs_DebtInstrumentCovenantLeverageRatioYearOne">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 leverage ratio under the financial covenant in year one.</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;">tpcs_DebtInstrumentCovenantLeverageRatioYearOne</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_tpcs_DebtInstrumentCovenantLoanToValueRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loan to value ratio under the financial covenant.</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;">tpcs_DebtInstrumentCovenantLoanToValueRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 trailing period used for determination of loan to value ratio under the terms of the loan covenants.</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;">tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accounts receivable used for determination of the aggregate amount of advances under the revolver loan.</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;">tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Appraised value of equipment for determination of the aggregate amount of advances under the revolver loan.</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;">tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 eligible raw material inventory used for determination of the aggregate amount of advances under the revolver loan.</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;">tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_DefaultInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of  default interest rate.</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;">tpcs_DefaultInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_tpcs_LateChargeFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of late fee charged.</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;">tpcs_LateChargeFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of borrowing base required to grant loan advance.</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;">tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_NonrefundableCommitmentFeePercentages">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>It represents the percentages rate of  nonrefundable commitment fee.</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;">tpcs_NonrefundableCommitmentFeePercentages</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_ProceedsFromTermLoan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for Proceeds From Term Loan.</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;">tpcs_ProceedsFromTermLoan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_RequiredMinimumDebtServiceCoverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum debt service coverage ratio as required under the debt 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;">tpcs_RequiredMinimumDebtServiceCoverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</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 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-4<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 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<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 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-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_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-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_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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (par) amount of debt instrument at time of issuance.</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 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 2: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-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_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</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(22)(a)(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/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="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_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<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(f))<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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<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> -Subparagraph (a)<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/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69F<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 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<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 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<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 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<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 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 14: 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 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 18: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 19: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 20: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 25: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 26: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-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_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentPeriodicPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 required periodic payments including both interest and principal 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 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477734/942-470-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_DebtInstrumentPeriodicPayment</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of time between issuance and maturity of debt instrument, 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_DebtInstrumentTerm</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 type of variable interest rate on debt instrument.</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 942<br> -SubTopic 470<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477734/942-470-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_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration</td>
</tr>
<tr>
<td style="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>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_DebtWeightedAverageInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of debt 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_DebtWeightedAverageInterestRate</td>
</tr>
<tr>
<td style="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_DeferredFinanceCostsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</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 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-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_DeferredFinanceCostsGross</td>
</tr>
<tr>
<td style="padding-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_InterestExpenseDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cost of borrowed funds accounted for as interest expense for debt.</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(8))<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/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69E<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69F<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 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<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 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-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_InterestExpenseDebt</td>
</tr>
<tr>
<td style="padding-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_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a 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. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</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://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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/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_LineOfCredit</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(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_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</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 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<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(22)(b))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(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_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-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_UnamortizedDebtIssuanceExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset.</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_UnamortizedDebtIssuanceExpense</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</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=tpcs_RevolverLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_RevolverLoanMember</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=tpcs_RanorIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_RanorIncMember</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member</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_DebtInstrumentAxis=tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member</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_DebtInstrumentAxis=tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member</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_DebtInstrumentAxis=tpcs_RanorTermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=tpcs_RanorTermLoanMember</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_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_DebtInstrumentAxis=tpcs_StadcoTermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=tpcs_StadcoTermLoanMember</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_DebtInstrumentAxis=tpcs_BerkshireLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=tpcs_BerkshireLoanMember</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_SecuredDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SecuredDebtMember</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_NotesPayableOtherPayablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NotesPayableOtherPayablesMember</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>79
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441737993232">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>OTHER NONCURRENT LIABILITY (Details)<br></strong></div></th>
<th class="th">
<div>Mar. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>OTHER NONCURRENT LIABILITY</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_ContractWithCustomerLiabilityNoncurrent', window );">Customer payments received recorded as noncurrent liability</a></td>
<td class="nump">$ 3,500,000<span></span>
</td>
<td class="nump">$ 1,200,000<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_tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent', window );">Current liability</a></td>
<td class="nump">200,000<span></span>
</td>
<td class="nump">200,000<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_tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent', window );">Noncurrent liability</a></td>
<td class="nump">1,300,000<span></span>
</td>
<td class="nump">1,500,000<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_TypeOfArrangementAxis=tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember', window );">Stadco's payment agreement with the LADWP</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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>OTHER NONCURRENT LIABILITY</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_tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService', window );">Aggregate delinquent and unpaid outstanding amounts for water, water service, electric energy and/or electric service</a></td>
<td class="nump">1,770,201<span></span>
</td>
<td class="nump">$ 1,770,201<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_tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable', window );">Monthly installment payments to be made</a></td>
<td class="nump">$ 18,439<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_tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage', window );">Late payment charge, annual rate</a></td>
<td class="nump">18<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_tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent', window );">Current liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 221,272<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_tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent', window );">Noncurrent liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,548,929<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service.</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;">tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 liability for aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service.</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;">tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 noncurrent liability for aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service.</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;">tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 annual late payment charge under payment arrangement agreement.</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;">tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 monthly installment payable under payment arrangement agreement.</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;">tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 808<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479402/808-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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 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_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-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_TypeOfArrangementAxis=tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember</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>80
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441738263376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASES (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Aug. 25, 2021</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_LesseeLeaseDescriptionLineItems', window );"><strong>LEASES</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_FinanceLeaseRightOfUseAsset', window );">Right of use asset - finance leases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,977,665<span></span>
</td>
<td class="nump">$ 5,660,938<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentMember', window );">Building and property lease</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_LesseeLeaseDescriptionLineItems', window );"><strong>LEASES</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_tpcs_OtherLeaseAssetsAndLeaseLiabilities', window );">Other lease assets and liabilities</a></td>
<td class="nump">$ 6,600,000<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_tpcs_LesseeFinanceLeaseMonthlyPayments', window );">Monthly payments</a></td>
<td class="nump">$ 82,998<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 );">Right of use asset - operating lease</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,629,396<span></span>
</td>
<td class="nump">6,629,396<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_FinanceLeaseRightOfUseAsset', window );">Right of use asset - finance leases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65,016<span></span>
</td>
<td class="nump">65,016<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_FinanceLeaseRightOfUseAssetAccumulatedAmortization', window );">Amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,716,747)<span></span>
</td>
<td class="num">(1,033,474)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tpcs_RightOfUseAsset', window );">Right of use asset, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,977,665<span></span>
</td>
<td class="nump">5,660,938<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_OperatingLeaseLiability', window );">Lease liability - operating lease</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,124,823<span></span>
</td>
<td class="nump">5,819,365<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_FinanceLeaseLiability', window );">Lease liability - finance leases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,151<span></span>
</td>
<td class="nump">36,336<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tpcs_LeaseLiability', window );">Total lease liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,143,974<span></span>
</td>
<td class="nump">$ 5,855,701<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_LeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease liabilities 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;">tpcs_LeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_LesseeFinanceLeaseMonthlyPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 monthly payments on finance lease.</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;">tpcs_LesseeFinanceLeaseMonthlyPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_OtherLeaseAssetsAndLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease assets and lease liabilities 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;">tpcs_OtherLeaseAssetsAndLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_RightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>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;">tpcs_RightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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><br>Reference 2: 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_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization, of right-of-use asset from finance 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_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseRightOfUseAssetAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization of right-of-use asset from finance 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/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<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_FinanceLeaseRightOfUseAssetAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-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_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<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 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_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-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_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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentMember</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>81
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739338064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES - Other supplemental information of Leases (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_LeasesAbstract', window );"><strong>LEASES</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_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Operating lease amortization</a></td>
<td class="nump">$ 668,058<span></span>
</td>
<td class="nump">$ 638,732<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_FinanceLeaseRightOfUseAssetAmortization', window );">Finance lease amortization</a></td>
<td class="nump">15,215<span></span>
</td>
<td class="nump">20,829<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_FinanceLeaseInterestExpense', window );">Finance lease interest</a></td>
<td class="nump">$ 834<span></span>
</td>
<td class="nump">$ 1,536<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 );">Lease term (years) - operating lease</a></td>
<td class="text">6 years 3 months<span></span>
</td>
<td class="text">7 years 3 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_FinanceLeaseWeightedAverageRemainingLeaseTerm1', window );">Lease term (years) - finance lease</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">9 months<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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Lease rate - operating lease</a></td>
<td class="nump">4.50%<span></span>
</td>
<td class="nump">4.50%<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_FinanceLeaseWeightedAverageDiscountRatePercent', window );">Lease rate - finance lease</a></td>
<td class="nump">3.20%<span></span>
</td>
<td class="nump">4.50%<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_FinanceLeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest expense on finance 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 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-4<br><br>Reference 3: 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 (a)<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_FinanceLeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseRightOfUseAssetAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense attributable to right-of-use asset from finance 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/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 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-4<br><br>Reference 3: 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 (a)<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_FinanceLeaseRightOfUseAssetAmortization</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="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_FinanceLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 periodic reduction over lease term of carrying amount of right-of-use asset 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/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<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_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441740541632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES - Supplemental cash flow information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_LeasesAbstract', window );"><strong>LEASES</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_OperatingLeasePayments', window );">Cash used in operating activities</a></td>
<td class="nump">$ 938,801<span></span>
</td>
<td class="nump">$ 851,806<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_FinanceLeasePrincipalPayments', window );">Cash used in financing activities</a></td>
<td class="nump">$ 17,185<span></span>
</td>
<td class="nump">$ 36,572<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_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for principal payment on finance 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 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-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_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-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_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</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 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-5<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)(1)<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_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-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>83
<FILENAME>R66.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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441739352736">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASES - Maturities of lease liabilities (Details)<br></strong></div></th>
<th class="th">
<div>Mar. 31, 2024 </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_FinanceLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Maturities of lease liabilities</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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2025</a></td>
<td class="nump">$ 948,701<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_FinanceLeaseLiabilityPaymentsDueYearTwo', window );">2026</a></td>
<td class="nump">948,701<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_FinanceLeaseLiabilityPaymentsDueYearThree', window );">2027</a></td>
<td class="nump">938,801<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_FinanceLeaseLiabilityPaymentsDueYearFour', window );">2028</a></td>
<td class="nump">938,801<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_FinanceLeaseLiabilityPaymentsDueYearFive', window );">2029</a></td>
<td class="nump">938,801<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_FinanceLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">1,095,270<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_FinanceLeaseLiabilityPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">5,809,075<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_tpcs_FinanceLeaseLiabilityImputedInterest', window );">Less: imputed interest</a></td>
<td class="nump">665,101<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_tpcs_FinanceLeaseLiabilities', window );">Total</a></td>
<td class="nump">$ 5,143,974<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_FinanceLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease.</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;">tpcs_FinanceLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_FinanceLeaseLiabilityImputedInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease to be paid as imputed interest 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;">tpcs_FinanceLeaseLiabilityImputedInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_FinanceLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for finance 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_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease to be paid 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>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_FinanceLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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_FinanceLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-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>84
<FILENAME>R67.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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741034400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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>COMMITMENTS AND CONTINGENCIES.</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_tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear', window );">Aggregate commitment for future executive salaries and bonus</a></td>
<td class="nump">$ 600,000<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_tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday', window );">Aggregate commitment for accrued payroll, vacation and holiday</a></td>
<td class="nump">1,000,000.0<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_PurchaseObligation', window );">Purchase Obligation</a></td>
<td class="nump">5,800,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_DefinedContributionPlanCostRecognized', window );">Retirement Benefits</a></td>
<td class="nump">$ 86,026<span></span>
</td>
<td class="nump">$ 84,889<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_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_DefinedContributionPlanCostRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for defined contribution 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 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480794/715-70-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_DefinedContributionPlanCostRecognized</td>
</tr>
<tr>
<td style="padding-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_PurchaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.</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_PurchaseObligation</td>
</tr>
<tr>
<td style="padding-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>85
<FILENAME>R68.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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441741077840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION - Financial information for segments (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2024 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Mar. 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 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_us-gaap_NumberOfReportableSegments', window );">Number of reportable segment | item</a></td>
<td class="nump">2<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 );">Net sales from external customers</a></td>
<td class="nump">$ 31,591,059<span></span>
</td>
<td class="nump">$ 31,431,614<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 );">Operating income (loss)</a></td>
<td class="num">(4,632,200)<span></span>
</td>
<td class="num">(1,105,220)<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_InterestExpenseNonoperating', window );">Interest expense, net</a></td>
<td class="num">(521,108)<span></span>
</td>
<td class="num">(355,608)<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_tpcs_EmployeeRetentionCreditRefund', window );">Refundable employee retention tax credits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">636,564<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_tpcs_OtherIncomeAndExpense', window );">Other income (expense), net</a></td>
<td class="nump">43,363<span></span>
</td>
<td class="nump">40,842<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 );">Loss before income taxes</a></td>
<td class="num">(5,109,945)<span></span>
</td>
<td class="num">(783,422)<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 );">Assets</a></td>
<td class="nump">34,746,695<span></span>
</td>
<td class="nump">36,207,741<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_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">2,429,377<span></span>
</td>
<td class="nump">2,217,472<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_tpcs_CapitalExpendituresFromPurchaseOfFixedAssets', window );">Capital expenditures</a></td>
<td class="nump">3,230,237<span></span>
</td>
<td class="nump">2,325,301<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_IntersegmentEliminationMember', window );">Eliminate intersegment revenue</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_SegmentReportingInformationLineItems', window );"><strong>SEGMENT 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_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales from external customers</a></td>
<td class="num">(796,770)<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_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember', window );">Corporate and unallocated</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_SegmentReportingInformationLineItems', window );"><strong>SEGMENT 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_OperatingIncomeLoss', window );">Operating income (loss)</a></td>
<td class="num">(5,721,324)<span></span>
</td>
<td class="num">(2,528,082)<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 );">Assets</a></td>
<td class="nump">353,614<span></span>
</td>
<td class="nump">1,039,411<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=tpcs_RanorIncMember', window );">Ranor</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_SegmentReportingInformationLineItems', window );"><strong>SEGMENT 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_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">700,499<span></span>
</td>
<td class="nump">523,683<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_tpcs_CapitalExpendituresFromPurchaseOfFixedAssets', window );">Capital expenditures</a></td>
<td class="nump">3,197,668<span></span>
</td>
<td class="nump">1,599,966<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=tpcs_RanorIncMember', window );">Ranor | Operating segments</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_SegmentReportingInformationLineItems', window );"><strong>SEGMENT 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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales from external customers</a></td>
<td class="nump">17,820,542<span></span>
</td>
<td class="nump">19,181,539<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 );">Operating income (loss)</a></td>
<td class="nump">3,070,440<span></span>
</td>
<td class="nump">5,328,186<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 );">Assets</a></td>
<td class="nump">11,972,805<span></span>
</td>
<td class="nump">11,350,905<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=tpcs_StadcoAcquisitionLlcMember', window );">Stadco</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_SegmentReportingInformationLineItems', window );"><strong>SEGMENT 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_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">1,728,878<span></span>
</td>
<td class="nump">1,693,789<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_tpcs_CapitalExpendituresFromPurchaseOfFixedAssets', window );">Capital expenditures</a></td>
<td class="nump">32,569<span></span>
</td>
<td class="nump">725,335<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=tpcs_StadcoAcquisitionLlcMember', window );">Stadco | Operating segments</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_SegmentReportingInformationLineItems', window );"><strong>SEGMENT 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_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales from external customers</a></td>
<td class="nump">14,567,287<span></span>
</td>
<td class="nump">12,250,075<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 );">Operating income (loss)</a></td>
<td class="num">(1,981,316)<span></span>
</td>
<td class="num">(3,905,324)<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 );">Assets</a></td>
<td class="nump">$ 22,420,276<span></span>
</td>
<td class="nump">$ 23,817,425<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tpcs_CapitalExpendituresFromPurchaseOfFixedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 capital expenditures from purchase of fixed 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;">tpcs_CapitalExpendituresFromPurchaseOfFixedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_EmployeeRetentionCreditRefund">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employee retention credit refund.</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;">tpcs_EmployeeRetentionCreditRefund</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_OtherIncomeAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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>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;">tpcs_OtherIncomeAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_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>Amount of asset recognized for present right to economic 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/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><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 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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/2147479168/946-830-55-12<br><br>Reference 14: 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/2147478777/944-210-S99-1<br><br>Reference 15: 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/2147479170/946-210-S99-1<br><br>Reference 16: 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 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/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 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)(iii)(A))<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)(iv))<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)(5))<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 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 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)(A))<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)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: 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 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: 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/2147478546/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_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</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_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-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_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/2009/role/commonPracticeRef<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/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><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 8: 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/2147477250/944-220-S99-1<br><br>Reference 9: 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 10: 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/2147477314/942-235-S99-1<br><br>Reference 11: 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 12: 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/2147478524/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_InterestExpenseNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest expense classified as nonoperating.</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> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<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_InterestExpenseNonoperating</td>
</tr>
<tr>
<td style="padding-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_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<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 54<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 3: 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_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-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/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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 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 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 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> -Subparagraph (a)<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 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_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_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IntersegmentEliminationMember</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_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=tpcs_RanorIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_RanorIncMember</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=tpcs_StadcoAcquisitionLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tpcs_StadcoAcquisitionLlcMember</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>86
<FILENAME>R69.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.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140441738930048">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jul. 03, 2024</div></th>
<th class="th"><div>May 02, 2024</div></th>
<th class="th"><div>Apr. 29, 2024</div></th>
<th class="th"><div>Apr. 02, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</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_SubsequentEventLineItems', window );"><strong>SUBSEQUENT EVENTS</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_tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent', window );">Accrued breakup fee</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">$ 1,116,800<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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent event</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_SubsequentEventLineItems', window );"><strong>SUBSEQUENT EVENTS</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_tpcs_StockIssuedDuringPeriodSharesStockTerminationFee', window );">Stock termination fee - number of shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">320,000<span></span>
</td>
<td class="nump">320,000<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_tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee', window );">Stock termination fee - number of additional shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">320,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,000<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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent event | Private placement</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_SubsequentEventLineItems', window );"><strong>SUBSEQUENT EVENTS</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_ProceedsFromIssuanceOfCommonStock', window );">Aggregate purchase price</a></td>
<td class="nump">$ 2,300,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>
<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_tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accrued breakup fee in connection with termination of acquisition event.</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;">tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 additional shares of stock issued during the period pursuant to stock termination fee.</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;">tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_tpcs_StockIssuedDuringPeriodSharesStockTerminationFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock issued during the period pursuant to stock termination fee.</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;">tpcs_StockIssuedDuringPeriodSharesStockTerminationFee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tpcs_</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_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from the additional capital contribution to the 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> -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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent 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 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483399/855-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_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</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_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember</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>EXCEL
<SEQUENCE>87
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M5[IC-L-"WVD@3()>7W*NMH%IF_TMF?P&4$L#!!0    ( !V)+5F17B$NGP0
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
M,+I?_@JB/S_=//P#QN#3,@0O?GXYFW 17H),XCK4FWTH="H4S7.Q-):<QE_
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
M7L#O\[INPQ=:(/X1^-O_ E!+ P04    "  =B2U9C.FO9^4"  #2!@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970Q,"YX;6RM56MOVC 4_2M7F51M$FU>E':\
MI #MQK12Q&/3/IKD E83.[.=TO[[V0ZD:471)NU+_,BYYYZ3Q"?='1</<HNH
MX"E+F>PY6Z7RMNO*>(L9D1<\1Z;OK+G(B-)+L7%E+I DMBA+W<#S6FY&*'/Z
M7;LW%?TN+U1*&4X%R"++B'@>8,IW/<=W#ALSNMDJL^'VNSG9X!S5,I\*O7(K
MEH1FR"3E# 2N>T[DMP=-@[> 'Q1WLC8'XV3%^8-9C).>XQE!F&*L# /1PR,.
M,4T-D9;Q>\_I5"U-87U^8+^UWK67%9$XY.E/FJAMS[EV(,$U*5(UX[NON/=S
M:?ABGDI[A5V)#30X+J3BV;Y8*\@H*T?RM'\.M8)K[YV"8%\06-UE(ZMR1!3I
M=P7?@3!HS68FUJJMUN(H,R]EKH2^2W6=ZD?#X?URLAA/OL!\$4U&T6PTA^5T
M%"UNNJ[2#0S,C?=D@Y(L>(?,#^".,[65<,,23%X3N%I9)2\XR!L$)QGOB+B
MT&] X 7-$WQA93>T?.'_L5N2-8^3F?/2ECF)L>?H R%1/*+3/_O@M[S.":G-
M2FKS%/N_2CU--KE?W$ (9Q^N ]_OP ENF.B3%,4Q+YBB; -S15A"1")AAC$R
ME3Y#E/!<80)C!M\*AOK=^*T&J"W"+66$Q92DQQD&7 \-X,(*";S.;30?V*G?
M:0"5LM"LT7QI&<_]L%$C'#.I1*'C0$DXAZ' A"KXSJ5$"1\7/*<QA$'K4QON
MD,A"H$$"7[]!ZAPX3OFNZPE7\$N'8\WT2#^(;(7"?)3AWK@V\MI $)Y[GZ&A
M\3'/$!;DZ47H5=/30L=9+O@CEOT5KR%A1&6<<F-#FH83 _N;AE<-F./&6I]A
MSH7U<GCI;_N5"+)*L2JJ]3WV!;NUG,E0;&R:2K!/K8R<:K<*[*C,J1=XF?;Z
M8&\HDY#B6I=Z%U>7#H@R0<N%XKE-K157.@/M=*M_.B@,0-]?<ZX."].@^HWU
M_P!02P,$%     @ '8DM66_6(@;"!@  61(  !D   !X;"]W;W)K<VAE971S
M+W-H965T,3$N>&ULQ5AM;^,V$OXKA)LM[@K%UJME99, FVP.5Z#=!OO2XC[2
M%FT3*Y$J2<?Q_?H^0\FR%"19]'!WQ68MB^+,/#.<>6:LR[TV7^U6",<>ZTK9
MJ\G6N>9B-K.KK:BYG>I&*#Q9:U-SAUNSF=G&"%YZH;J:Q6$XG]5<JLGUI5^[
M-]>7>N<JJ<2]8797U]P<;D2E]U>3:')<^"@W6T<+L^O+AF_$)^&^-/<&=[->
M2REKH:S4BAFQOIJ\BRYN4MKO-_PJQ=X.OC/R9*GU5[KYL;R:A 1(5&+E2 /'
MY4'<BJHB18#Q>Z=STILDP>'WH_9_>-_ARY);<:NKWV3IME>3Q8258LUWE?NH
M]_\4G3\9Z5OIROI/MF_W1LF$K7;6Z;H3!H):JO;*'[LX# 06X0L"<2<0>]RM
M(8_R/7?\^M+H/3.T&]KHBW?52P.<5'0HGYS!4PDY=_WQ[M>[#U_N+F<.RFAI
MMNH$;UK!^ 7!*&8_:^6VEMVI4I1C!3.@Z*'$1R@W\:L:?^9FRI(H8'$8IZ_H
M2WK7$J\O^?.NM8+I\X)4!Q>VX2MQ-4&B6V$>Q.3Z^^^B>?CV%5AI#RM]3?MK
ML%X7_/#+YSN6LN^_6\11])9U>MCGK6"WNFZX.K"-4,)P)RSJY4&HG6"-D2@V
M61W8VNB:-<+X0E8KP?2RDAM.M6'9"@HJX43)=CA-@WOE#"K&(AW=MDM$82R3
MBKF]9E3N^#!?01L6!::-O:!B0+4*QE4)NV(E?>5*54+:2%Y-/59 D+ID^@%F
M]ENYVC(W\* #"$.P/4+(%5L*_+F]$ "Q-4+@4QIW8.=6/K*ZS48*3Y@@/%T
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
M?#IBVO\RX[]8M76_AJR4M:IP_VX$1Q1H YZOE;+-%SJ@_7GLXM]02P,$%
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
MR:#?/Q.["(N;$K:=2YN*?"I2;>$RN74=42[A.,5<P?V2? %?3"7[$E;1*,8
M#LZ/T0)=%$K1;+Z#H%PN;?Z@4MX^Z/6/Q;U*YK>8U^SFUU]+73R)#R91AMQ5
MW&;2=$1N>0/=8] [XWTTP<_],\P;\0ED%Q-E1;_78<I=OA4<*/DRS[-46;?E
M=*(B9,$#5[B--$\LK/&9$Q?&E#(3'^%:VLSH(G=-8CCS)Y7X,T_BD?<MPJY,
M$J52%\[KA>%7TA%P0%>IF! LOA;2I,1=IA46YT*N(#HG9E:: HODM%"VS73%
MI4SS)<M_\K3U%DT!=,4?2LPEQ)HJIV=F0Q(X&J!(B,D:]"J%V@N:P4:2PT2Y
M0BPMP6D";C5.SHMYVQ;H.DENE[F5A1(SR-P:"9UVQ?L\PX6)#IW\7DULB5A
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
M$<AUQ6]5V")1U.UI#JR^GU^#6]77;TQOB#48)KV]^H;Q\>O A'.=IKPAT6U
MOR%1[@LR0!!0DL>%E5-M';AUB+\F[03XT(1SQFAZ 2>M5ELZ\8U;1;SZI81W
M]<>=4-.\;X7'_7Z_QUV)%B3_(Q#O[EL!)395&X62E53[-MJJ42F^V=GU.9[X
MWM*JX/HO=E>#8JJ^'SR;#&FM\.$T8S#N'(]'S_4X:=7)L--#H<^F__*ZK\&<
MC]BZK86V9"J)&/5(;QZHN<YE(#-Y ]CF5#4TB%HYRW/IYBZ?W?8R*_CQYA<'
M+T@@^N-Q9SQZ<0;QWP_7+[*S'2^BO]_H8LLB6-_)4><4AD6C^_W>::>'O"N^
M<01* **W?0!SV/A "1GDC#_#HHN5IO#?*E6CU9=>%_X#IWJY_TP,[,TTJLI,
M3;&UUQV/]H3UGU[YAR)?\N=.D[Q Y.!_YTK"9F@!YJ<Y!!\>Z(#J^[?S?P-0
M2P,$%     @ '8DM64(U]J>P P  Z @  !D   !X;"]W;W)K<VAE971S+W-H
M965T,34N>&ULO59M;^(X$/XKH^RQ'ZH<>8-"NX!4:%=;G;94;>_VLTDFQ&IB
MYVS3E']_8P<"K5ITTDGW 6R/9YYY9CP>9])(]:P+1 .O52GTU"N,J2^#0*<%
M5DSW98V"=G*I*F9HJ=:!KA6RS!E591"'X7E0,2Z\V<3)[M5L(C>FY +O%>A-
M53&UG6,IFZD7>7O! U\7Q@J"V:1F:WQ$\V=]KV@5="@9KU!H+@4HS*?>570Y
M'UA]I_ 7QT8?S<%&LI+RV2YNLZD76D)88FHL J/A!1=8EA:(:/R]P_0ZE];P
M>+Y'_^YBIUA63.-"EK]X9HJI-_8@PYQM2O,@FQ^XBV=H\5)9:O</3:L;QQZD
M&VUDM3,F!A47[<A>=WDX,AB'GQC$.X/8\6X=.9;7S+#91,D&E-4F-#MQH3IK
M(L>%/91'HVB7DYV9+99WBYN[IX>KI]OE'2R_P\/MXQ^3P!"T50C2'<R\A8D_
M@8EB^"F%*33<B RSMP !<>J(Q7MB\_@DXD^F^I!$/L1A/#B!EW2!)@XO^:^!
MMC"#CV'L';G4-4MQZM$ET*A>T)M]_1*=A]].D!QT) >GT/\]R=,P=\NG&QC#
M[_ A'OQ"L-?5T(\J6CS3U4CE1AA:E$RDJ'UH"IX6/C #AJX@"2JV!7Q-$3/@
M0F\4C26O.#4$"U>P%P0A#:G4J#@22 9,;*&46J.FFC8%F(+RM?>E:3N#%98<
MR=04Y*FA3=7!2$T01CH4S=>"YSQEQ#$EU]R XOH9Z%:G3!=]N!46'7*N4U;"
M%IG2@+80@<HH+;HZ<DYIDOADB]2)ZIH(J#TITJ<V1PH]IY@,>CXU'EVC:QWE
MEJQRD!L%]890F65(?8$"9F4?EN*=,]]RHH :^V<4RXZ"5Y@B?V&K$KND$[#1
MAOQRL89<R0I,(W<M "F>5%8U16UWA^.>96)#-M)0Q"WZ 53O4?OP9/,B2VJ^
MUM(XEQJ) D5*A\)%V]A=A]0VX9\S=:0.A)I"ODM<)94[2P%1V-OGZD3,UJ/,
M+^'KEW$<)M_^]_%=<7PH3F"QBQBN*8VVLNY1I4BE^'Y]U2'\!A>#T(]'%YUD
M$$*/Q*,D](?1P542D7A^9'?6S<^<07P>^M%HU$DC:[ X,AA0,4<7XX/"V-F]
MQ;D^Z6'HCX;#MQ[.@(I(OSE+5VD?];C@Z/6A-*W=&VOKE4Z]?8@Z:?>,7[6O
MUT&]_0:@S*^IO9#SG$S#_FCHT4UW[VJ[,+)V;]E*&CH3-RWH4P255:#]7$JS
M7U@'W<?-[!]02P,$%     @ '8DM6=KU'=#; @  [ 8  !D   !X;"]W;W)K
M<VAE971S+W-H965T,38N>&ULI551;YLP$/XK)S;UB14PA) TB=2TF;J'ME&2
M;L\.7()5P,PV3?OO9T-"J9)&T_8"/ON^[[X[V^?1CHMGF2(J>,VS0HZM5*ER
MZ#@R3C&G\I*76.B5#1<Y5=H46T>6 FE2@_+,(:X;.CEEA349U7-S,1GQ2F6L
MP+D 6>4Y%6]3S/AN;'G686+!MJDR$\YD5-(M+E$]E7.A+:=E25B.A62\ (&;
ML77M#:>!\:\=?C+<R<X83"9KSI^-\2,96ZX1A!G&RC!0_7O!&\PR0Z1E_-YS
M6FU( ^R.#^S?Z]QU+FLJ\89GOUBBTK$569#@AE:96O#='>[SZ1F^F&>R_L*N
M\24Z8EQ)Q?,]6-LY*YH_?=W7H0.(W$\ 9 \@M>XF4*WREBHZ&0F^ V&\-9L9
MU*G6:"V.%693EDKH5:9Q:O*XNILMX.9IL9@]K.!ZN9RMEB-':6:S[L1[EFG#
M0CYA\0C<\T*E$F9%@LE' D=+:G61@ZXI.<MX3\4E^)X-Q"7!&3Z_S=.O^?S_
MS+-A"4ZSF!LRE"6-<6SI*R!1O* UN?CBA>[5&8U!JS$XQ_[7&L^S/#RN9C"
M;W"*#BZ^1,3UK_[Y_ZA2%/I@"H&% BHE*@FLB+-*[SOH1=CP3-]T5FSU*O#-
M$/16QFF[EQ]-'^8"2\H2S2$K08L8VU!?P?=#N]>/.C->2&RWWVM1LEK+6+#2
MW'#9^GG>P!Y$_KM-7,WCMBA%7_'=F_1M$H9'F0[LT MA695EQG3*-'DQZN21
M'PEM+R G"^:1*[C%DDNFCG%:8^2ZQW2>W7=#F.5EQM\0C^-ZH3WHU"2P>Z'7
M9J:]F>3B#3:(T@9>[U87&7BMZ;MVT.O!BBN:=4K<"WT[C+I%]X.H6\Y3)]WI
M=* <Q;;NLQ)B7A6J:4;M;-O*KYL.]N[>O /Z?&SU88 ,-QKJ7O9[%HBFMS:&
MXF7=S]9<Z>Y8#U/]'*$P#GI]P[DZ&"9 ^\!-_@!02P,$%     @ '8DM64N
M=;LN!0  \0L  !D   !X;"]W;W)K<VAE971S+W-H965T,3<N>&ULK5;;;MLX
M$/T5PBV*+<#8NOF6)@:2-$4+-*DW<;?81UJB;+:4J))4'._7[R%ERW*09H%B
M7VR)XIPY,W.&G+.-TC_,FG-+'@M9FO/>VMKJ=# PZ9H7S/15Q4M\R94NF,6K
M7@U,I3G+O%$A!U$0C 8%$V5O=N;7YGIVIFHK1<GGFIBZ*)C>7G*I-N>]L+=?
MN!.KM74+@]E9Q5;\GMNOU5SC;="B9*+@I1&J))KGY[V+\/0R<?O]AK\$WYC.
M,W&1+)7ZX5X^9>>]P!'BDJ?6(3#\/? K+J4# HV?.\Q>Z](9=I_WZ!]\[(AE
MR0R_4O*;R.SZO#?ID8SGK);V3FT^\ET\0X>7*FG\+]DT>^-ACZ2UL:K8&8-!
M(<KFGSWN\M QF 2_,(AV!I'GW3CR+-\SRV9G6FV(=KN!YAY\J-X:Y$3IBG)O
M-;X*V-G9_.[+_/IN\3<E\\\7MPMR<?N>7/_Y]=/\YOIV0<GM]>)L8.''[1ZD
M.\S+!C/Z!688D1M5VK4AUV7&LV.  0BV+*,]R\OH1<0;IOLD#BF)@BAY 2]N
MHXX]7OR_1MU@)L]CNNXY-15+^7D/[6&X?N"]V9M7X2AX]P+CI&6<O(3^FXQ?
MQKS]LK@F84!.R'^CDS>O)E$0O_OM_[G&0:+MEI)*LM(25F:$_ZQ%A0ZWE)0X
M?U*%7C>69T3EQ*XYR97$H2'*%6$&:Z<$.DC7K1".7V/RV6'N_;TF81C0,(R?
M6;FLA<P\+ Q$46GUP!T-T^Z-:32-Z70R>F;EAJ5K9%)ON_SS6I?"UII3#YJ+
M1_=R (R&=#@-Z"A)#DLQ#<()'8/0%2*WNO8'U8DH3\!H!>N#>9A,Z"@8==ZG
M=#@>D86R3)+J.+?T.+D'AU,:)C&-D^EA:028B,:3"?D,?Z<X)=.ZJ"5S5<@X
MA)P*YH_/O<4?80*$(8V'D[>=Q8B.AA,:CY*WSW-ZKMZ=PB1T/!W3Z33L+B+=
M^. *_51,GTIDV*1PXW7@L)T"*-EPW!2ITME3^OP1UYCA3EFO0SI.1C0,8F^(
MU^$0OJ$-V)J*^WM"@K@HB:HU9&FLLULIE1EBE,SZY!LG3!IU<%:THCC.?29,
MI0SVXERW:\*(NZ#( Y-UPR6*Z"0<'@%RN >M44BG4 LV(94IY_"=:U4 '\1,
MK5F9<F*XM=)K%Y9-U:PB*1*/^]BI$ O,8%>'"%N"HBKQ9;EU;9:C.-9'>F]9
MEJJF8)Y2RBJ!8HI_.'Q:CO1@8XD8M/9]:4A6:]](/FF^@_<Z)BB_4&@%I9&=
M[_C=H;EXOB/+ID^N6OSLX$" 8I8UD;A38)]_]USC0M%RVQP)",LT+8R_0FGK
M<=#+NMEK>%Y+(D',[.T;HU\X=DS=IBUGVA#N[JZG)\Y>:1":YI .NC*)=C)*
M<$*,CS74=TJ]YY7EQ1*L&HTZ%U>JJ%BY)4:L7"%04X:&;PJ)L OV@[LD")=(
M9.R@I[I::98A($>6M95N)@6N?=6<*%>E*UJ)J:BJ$0'F%N,.47:D"<=[*:3T
ME72 FHMB66O3$/%R\Q78H3<(*++5[,1#],F'VAUTQ\W6339T+R59.K7GC0ZQ
MS\KM3GS[PAT9=CTXO3%_7&#X0J$1K-MB+,3N6<+&G30> )5=/,7<R=#3P!2'
M:GI[3+=9+7T3'G%W+I$*]*K76G,/=7(F>;9"GI^[T@>=,0S96OEATR":NK3-
M1-:NMO/L13/&';8WPS!DMT*7PUL.TZ _QOBHFP&S>;&J\D/=4EF4QC^N,9-S
M[3;@>ZZ4W;\X!^V4/_L74$L#!!0    ( !V)+5G0$%.L!@0  #0)   9
M>&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;*5677.C-A3]*W?8SDX?J $!MI/8
MGDD<=[8/F\TDV6U?9;@V:@ 12<3)O^^5P-C9?$RG?;&1N.?<<S]TQ6PGU;TN
M$ T\566MYUYA3',:!#HKL.)Z)!NLZ<U&JHH;6JIMH!N%/'>@J@Q8&(Z#BHO:
M6\S<WK5:S&1K2E'CM0+=5A57SQ=8RMW<B[S]QHW8%L9N!(M9P[=XB^9[<ZUH
M%0PLN:BPUD+6H' S]\ZCTXO$VCN#'P)W^N@9;"1K*>_MXH]\[H56$):8&<O
MZ>\1EUB6EHAD//2<WN#2 H^?]^R_N]@IEC77N)3EGR(WQ=R;>I#CAK>EN9&[
M+]C'DUJ^3);:_<*NLXTF'F2M-K+JP:2@$G7WSY_Z/!P!IN$[ -8#F-/=.7(J
M+[GABYF2.U#6FMCL@PO5H4F<J&U1;HVBMX)P9G&^7-Y\7UW"ZJ_KU=7MZG86
M&&*U[X*L9[CH&-@[#!&#K[(VA895G6/^DB @.8,FMM=TP3YD_,K5".+(!Q:R
MY .^>(@Q=GSQ_XBQ8TC>9K GXU0W/,.Y1ZVO43VBM_C\*1J'9Q_H2P9]R4?L
M_TK?QPQ7W^Y6$$7P&_S,!9\_35D8G_WG__,L4RWF@$\T!S1J$'56ME1H, 7"
M1I9TK$6]!:Y!;DZ!:I<50_%>+N.!+).59>/N8.X]_0*1'TV8S\;LQ1Y+)SY+
M4KA6\E&X84"S"+*2BTJ_DIM&8_]DPE[MLW3L,S;YF80:5]%@@%)J&]M@?1+[
M,<G?KZ.0^2=I,NAOE-R@MC2\A T>(9-TZH_C\8$IH:!.TF/DWS20R+,V!U0Z
M#OV$30\L2>BG:3B@UC1O[]O&NGH5&?%3S-,P?+.$$3N#;U0I=;!/$C\<'V)C
M<>J'40)WTE PA\0GMA!^,AT?[3$_C6,_FJ:OVN-%1?L6T< KV=84I\TU/F'6
MVA$,:UFWE&T?&OZLJ(& USD\\JP#VT4A2Y'S9VLP.I2LY]%&T#0FGWW1"-/6
MUG^)QBGI:DK>%=*HS)'TN&9M4 F9V]6N$-26NJ6?GL3:YH17-&,Q'\&RX/76
M=7L''=K&&BK,I+)'@-[:0E+G@^8EZM$[=;:@O>XNB@R5H2MSL!N.5]XJ>YRL
M4X6-5,:N.N4CN&P1C 0.F9/G_/=$%'8NC,N2S2 ^(B7>!V%@C1FO7 AKOBZ)
MH.#&)NWE4?6=RR6ED=?/=)6V90ZUM&CH4)*.G-1HD=:29P\M9<25C,+_0=VS
M@SO,BEJ6<BLHDE\U=>N5- C1A";3;;O6^-"2+%@Y<6]-SN#H)JM0;=U]K2DX
M:J/N4AMVAT^"\^XF/)AWWQ,4WE90-DK<$#0<35(/5'='=PLC&W<OKJ6A6]8]
M%O19@\H:T/N-).W]PCH8/I06_P!02P,$%     @ '8DM6=4*N,Q!$P  -#T
M !D   !X;"]W;W)K<VAE971S+W-H965T,3DN>&ULU5MI<^,XDOTK"$_UA!U!
MRR(EV:XSPJYCIF:KJVK*[IG/$ E9V*((-0\?^^OW9>+@(<I=1^]$[!=;(H%$
M(L^7">C%G2F_5FNE:G&_R8OJY<&ZKK?/3DZJ=*TVLIJ8K2KP9F7*C:SQM;PY
MJ;:EDAE/VN0GR71Z>K*1NCAX]8*??2Y?O3!-G>M"?2Y%U6PVLGRX5+FY>WD0
M'_@'7_3-NJ8')Z]>;.6-NE+U;]O/);Z=!"J9WJBBTJ80I5J]/+B(GUW.:3P/
M^)=6=U7GLZ"=+(WY2E_>9R\/IL20RE5:$P6)?[?JM<IS(@0V?G<T#\*2-+'[
MV5-_QWO'7I:R4J]-_F^=U>N7!^<'(E,KV>3U%W/W=^7VLR!ZJ<DK_BON[-AX
M=B#2IJK-QDT&!QM=V/_RWLFA,^%\NF="XB8DS+==B+E\(VOYZD5I[D1)HT&-
M/O!6>3:8TP4IY:HN\59C7OWJS=O+ZQ<G-2C1]Y/4S;JTLY(]L^)$_&J*>EV)
MMT6FLCZ!$[ 0^$@\'Y?)HQ1_E>5$S.)()--D_@B]6=C7C.G-OG-?=M9\?!9Y
MP+-J*U/U\@ F7JGR5AV\^NM?XM/I\T=XF@>>YH]1W\O3X[,^?KI^*R#PO_[E
M/(GCYX*H\)?I[/D/__]@BIOC6I4;6/"R%KI(\P:*%/5:B97)X:JZN!&R$F;U
M3$ WZ3HHI_]U)JYJF:5&7!.Q#T86D9"UF$W.GOX"LEA"574DLD:)B^8&]DR3
MS@,?3T02G<[/HN1LT7DVB^+STVC^="&^R,*4 ]JGD^EB2/N-2M5FJ4JB?K:S
MVR1*X@76F8V].3N-%O&Y6^F+NC7Y+>B$U<XFIX_L9#Y"\>Q\$4VGTYTWIXLI
M/[\VM<RMW-LMG[$8GL9=T9Q&<3R+IO%,?%!5]<RIJJK 06JJNA)-(3>FK/7_
M0'/MM/.G43+KBC.>+Z(S6%"[<"0*U5]]L3B/3L]GG6>+Z.GI632;QF[UUTU9
MJJ(66UH1\=2L1-ZWHL?IQ5#">12?>C[ZDX<<L;4GSSM/YM'9_&D4SYZ&9Q=(
M#F2TLLB@N*J6-;Z0XL3%3:G4AKC]5 1M+=A@8;9DY*_-9BN+!Z%8L1DIV("0
MD!V:I:>9$TT9:-[I>BTN%:5-72IQ*8NOD8#Q$%WB+9D^[W/!#^/G$_$;:-MQ
M_0'1@!R6R',HN:AU 6V#M6UI;G6F>.[ *<0A_!2)"'$C$TM*LT?,/@TMV9[)
MERFLD,Y2[%;7@=^>P4_$>^PSPWLH>(<GQX(E//3Z,29TP4--J6]T 8W#6!N(
M#TP\F4^FR&9YCG4FXAJ#0#Q5*J. TY\TW"S-3B;G"S]=W$%_F*YNM6FJ_$$T
M%;%H"#& 0)$JH>YU59,,R%EN #6LN8(2$Q]GH"<8(;$&$P8,8IQ!Y%*YU63)
M).P;5:A2DLY*. BL1FP;?*I4(.@L;GRU'7'RKK"+I0H;JIHM^1Z/E^GOC:ZT
M=T0WW1KMSK9U0?M560$_;D=/=A<=<Q8W:&E*9#LPTE6=6)5F\P>>,%PD^,)[
M%U*%*<9%H"L.MGC=%%NI858RIXU5%):E6.E[L&-%#37)HF@V0OW>0 D0%E$\
M.WY0LA3O5,:J^;O9.+]C<X8@+A%%0?YU+JM*I^(BNV7!77?B0[66\,2M?,"*
M.:V5KF4)"W*VW9HT4A+^*HG4B-$<)XC[)GC\KL<8/*9WTM+"]G(#=KK3L5,@
MSZ;4]<.1N%MK4(=88,?*S5.%R.1#1?Q(Q&=95@,G9A618<A5[3C):!_D.4QO
ME+>E2B$M5@ K%'STU<SQ^>PY[&EKUTE-DV=NGF4=:V(K<IDK<7BW5KQ9F:8
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
M[0Y@?ZF4W;\X!<.?!<[^ E!+ P04    "  =B2U9@XDY[#X&  #2#P  &0
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
M)YXVAUF)EW?@60L.3X"#$-T)KDN%/O,"BI< SV39IQH>4IV%9XEW1(Y0%'Q
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
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;*U5;6_;. S^*X0W#'>
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
MMH9GCRIK .>5E&8OV ##0SK_%U!+ P04    "  =B2U9MD5%_/4"  #J!@
M&0   'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6R=55UOFS 4_2L6FZI-0@7,
M1SZ:1$K23-M#MZAIM[TZ< FL!C/;--V_WS4D)&W3:-I+\+W<>WQ.KGT8;85\
M4!F )D\%+]78RK2NAHZCX@P*IBY%!26^284LF,90;AQ526!)TU1PA[INY!0L
M+ZW)J,DMY60D:LWS$I:2J+HHF/PS RZV8\NS]HG;?)-IDW FHXIM8 7ZOEI*
MC)P.)<D+*%4N2B(A'5M3;S@+3'U3\#V'K3I:$Z-D+<2#";XD8\LUA(!#K T"
MP\<CS(%S X0T?N\PK6Y+TWB\WJ-_:K2CEC53,!?\1Y[H;&SU+9) RFJN;\7V
M,^STA 8O%EPUOV3;UM*!1>)::5'LFI%!D9?MDSWM_H>CAK[[1@/=-="&=[M1
MP_*::3892;$ETE0CFEDT4IMN))>79B@K+?%MCGUZ,IW/;^\7UV3Q<[GXNEJL
MR(<[MN:@/HX<C?"FR(EW4+,6BKX!Y5%R(TJ=*;(H$TB> SC(JR-']^1F]"SB
M#9.7Q/=L0ET:G,'S.[%^@^?_H]A3&EN$X#2"N2)#5;$8QA;> 07R$:S)Q3LO
M<J_.\ LZ?L$Y],D*KUQ2<R BQ>,:RQH2 D]X_Q2H4US/HUV\ZU/7OR+_^YR^
M8$#R,N8U3I;H#$@J.%[HO-P0II#OD."PXJR;UO/0[\!B41@TUES)_4[OB6=[
M/6K3B#[+T;!GTR D2RD>\\8&T(5(S%E>J%=T0R^R!SWZ*D_#R*:T]Q($3ZI$
M2R!<**.MJQ[XMH_T]['G4GL0!AW_2HH4E(%AG*1PU!F$?3ORHP-2@*(&X7'G
M+[0BW%GI0U<8N79 ^P>4P+7#T.VZUNBT#W5EMGJE#/%1<]]U3X[0HU?D&TY*
M'NJ#P':C@S;JA[;K!>1.:!1S^.,#,P@[Z$='.6J'OF][_?#4,7>._*< N6E<
M5J'2NM2M%779SLBGK7\=RMNO !Z;35XJPB'%5O>R%UI$ML[:!EI4C9NMA49O
M;)89?HQ F@)\GPJA]X'9H/N\3?X"4$L#!!0    ( !V)+5ERTOF5'@,  '8'
M   9    >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;)U5;6_;-A#^*X2Z%AW
M6:+>[=@&XJ3%!J1 D&3K9UHZ6T(ITB6IN-NOWU&2%3MQ/6!?)-Z1SW//\<CC
M?*_T-U,!6/*C$=(LO,K:W<SW35%!P\U$[4#BS$;IAELT]=8W.PV\[$"-\,,@
M2/V&U]);SCO?O5[.56M%+>%>$],V#==_KT"H_<)CWL'Q4&\KZQS^<K[C6W@$
M^^?N7J/ECRQEW8 TM9)$PV;A7;/9*G;KNP5_U; W1V/B,EDK]<T9?Y0++W""
M0$!A'0/'WS/<@!"."&5\'SB],:0#'H\/[)^[W#&7-3=PH\37NK35PLL]4L*&
MM\(^J/WO,.23.+Y""=-]R;Y?&V8>*5IC53. 44%3R_[/?PS[< 3(@Y\ P@$0
M=KK[0)W*6V[Y<J[5GFBW&MG<H$NU0Z.X6KJB/%J-LS7B[/+VT^J)?'SB:P'F
MU[EOD=)-^,4 7_7P\"=P%I(O2MK*D$^RA/*4P$<MHZ#P(&@57F3\PO6$1(R2
M, CC"WS1F&#4\447$CR75X^*SZ/<59B9'2]@X>%9-Z"?P5M^>,?2X.J"IGC4
M%%]B7S[BU2I; 41MB%!R^YL%W>!96MMS2B]S?7B7AT%T1?[O_^XD/JEE(5JL
M)+$5D(T2>&EKN27<H-89P>(4U5B=4S,BCY:7A2)/CNQ.<4D)MR2:9-/W2(LA
MP%A*RA;(=;O%D^U ^:CC%Q+2-,YHF"5'OHBR/*7Q-"$/7"K]BCN=!,EK[ELH
MH%F#=NS9FVQ#&K($XT3G9K*4)BP?(CW LQ+/R#-&RR;IA4SB,XQ9GM @"-[,
MI$G0^9^4Y:+?]Y>4LVX;INQX:U+*6$0#%I$[,&8VE,H85% H8PUI)6^4MO4_
M6+D76#ZE872\G2Q.:(9W]B4P)1).HR=)3M,\.O(E=)IF- K8$/VFU1JD)3L7
M$3OKFU/\'WP,BY!3EAYTG()?*W(C%EX=>6*:Q5/*HNFYJ^@?]<(&]+;K^ :W
MJ96V;XNC=WQ4KOM>^K*\?Y'P>&]K:8B #4*#299X1/==OC>LVG6==:TL]NEN
M6.'#"-HMP/F-4O9@N #C4[O\%U!+ P04    "  =B2U91=HJN&D$   V#@
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
MSW+=,3KFCO%Z$4;%I3WS_ -:*D(U#ZKY4(U"-0;5.%03*$U/<=T\.A=O./^
MEI)0S8-J/E2C4(U!-0[5!$K3/^VB+B5=\VT\?VW^8<:/C3=4\_;LN-/>/?^
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
MCNFVKT%MU_%$%DNA.O2PMT(+/,7B>35ALJ67+!%)<,H)30'#\[YV!V^'T%6
M+.*%X"VO/ ,EY972-]6XC_J:H3+",9X)18'DWP8/<1PK)IG'GX)4*\=4P.KS
MCOU')EZ*>44<#VG\FT1BV==\#41XCM:Q>*+;G[@0Y"B^&8UY]@NV>:QC:&"V
MYH(F!5AFD) T_T?OQ414 %)H,\ L .8AP#X!L J E0G-,\MDC9! 88_1+6 J
M6K*IAVQN,K140U*UC%/!Y%LB<2)\&K^,'Y_'X!J,"$>+!<,+)'"DIH9P<#7"
M I&8?Y7OGZ<C</7Y:T\7<E@%UF?%$(-\"//$$- $#S052P[&:82C.H$N\RV3
M-G=)#\Q6Q@?$;H %OP'3,.V&A(;_#[=:TK'*.;0R/JM]#IMF)@?:S4#UB=[R
M%9KAOB:_08[9!FOAET_0-;XWJ>J(K*;1+C7:;>SAH]Q1IBC&O$EE#G4SJ-HW
M-J$%G0 :3M#3-U4%38&V!5UHEX&U[)PR.Z<UNU\;S*Z%W%Z:LFN%GKL&'9'5
M5+JE2O=2G[E=:NR(K*;1*S5ZE_LLASI5^Q@V- ,?'OCL.- ,/-_Q@J#99WZ9
MG=^:W8225%R3]*376N'GKD-'9#6E0:DTN-1K09<:.R*K:83&_O S+G=;@:VZ
M"$+/-SS_P&U-@:[M^-!I=ANL',ZP-;\1GLL;4Z/3VI'G+D-7;'6=YEZG>:G;
M"F17.CMBJ^O<7Q1@ZQG]@=^LX^T-VH;CN(?':%.D$5@.M/P3CML?\[#]G+]/
M(WGI9 3%C2FV@L]>C([8ZE+W=P;H7&RZ3N\,7;'5=>YO#;#UP/[ =.[1E0SZ
MCAT8AY8[CK,#U_;< \/IE5(DP6R156@<S.@Z%?D%O^PMJ\"[K/8YZ!^HZC K
M<?8T>6DIK^\+DG(0X[FD-&X\.;TLK];RAJ"KK.!YI4*63]GC4E:XF*D ^7Y.
MJ=@UU !ES1S^ U!+ P04    "  =B2U9_K,CRN $   #(@  &0   'AL+W=O
M<FMS:&5E=',O<VAE970T,RYX;6RUFEMOHS@4Q[^*Q:Y6,])LP3:7T$TBM6E'
MNP\=5:TZ^TR)TZ AD+6=9%;:#[_F4AR(<0-R7IH /I>_.0?_4C,]Y/0'6Q/"
MP<]-FK&9M>9\>VW;+%Z33<2N\BW)Q)553C<1%X?TS69;2J)E:;1);>0XOKV)
MDLR:3\MSCW0^S7<\33+R2 ';;381_?>6I/EA9D'K_<13\K;FQ0E[/MU&;^29
M\)?M(Q5'=N-EF6Q(QI(\ Y2L9M8-O%Y@OS H1WQ/R($=?0>%E-<\_U$<_+6<
M64Z1$4E)S L7D?C8DP5)T\*3R..?VJG5Q"P,C[^_>_]:BA=B7B-&%GGZ=[+D
MZYDUL<"2K*)=RI_RPY^D%N05_N(\9>5?<*C&^M@"\8[Q?%,;BPPV259]1C_K
MB3@R@'Z/ :H-4-? [3' M0$NA5:9E;+N(A[-IS0_ %J,%MZ*+^7<E-9"39(5
MM_&94W$U$79\_G3__?[;RSWX'7P3-<.BE#"PHOFFCDTH Y_N"(^2E'T6@UZ>
M[\"G7S]/;2YB%Q[LN(YS6\5!/7$@ @]YQM<,W&=+LFP[L$723>;H/?-;I/7X
M$-$K@.$7@!SD*A):G&^.->G@9B)QZ0_K)U(U,Y6AJS8L^O2:;:.8S"S1B(S0
M/;'FO_T"?></E2I#SEH:W4:CJ_,^?R)[DNT(4XFL+/W2LGAV[.<8>B%TO'!J
M[X\%J :Z&/K0;0:VDO.:Y#QM<HNZ8,$-^ \T!W&>Q23C-"H?&C1A/\35Y[+,
M::7F"\@(5RG2AAMZVPPY:\V,W\R,/[8T?9,:#3EK:0P:C<'HT@Q.*BYT/,<-
MG$YEGH[SL8=PV%.8DR:UB;XP3TMP2VAQ2JR3JGPK=] Y2L2Y0MT^4H]2IQHV
MJ8:F>N@FCO-=QAEX(C%)]M%KJM2BC3>TP PY:TT-=.1*Z8QMH]K2D$Q3WMHZ
MCX@ FJW7VE^G%-U.O:I'8:BN6(ADNNB\FKTU]-S7QQM\,PUY:\^.I!(X&DN@
M42XQY:VM4Y()'(\F4($<R M\Z'=+5!MCK 8),/ #@AG<>)ZJI6!7U278 TKX
M@-IU?TA_GKFFZ ,.+MQ+8 N4W *#T0VJ19[!.@UY:^N4$ 0-4Y#>WV#U2ER"
M?:N/!"9X)C$M3*T^1HG)E+?V+W2)3&@T,B&CR&3*6UNG1":D1R;=ZJ,W'2P4
MGJQE;A"$7MA#_DAR%/J HX8VJ-[?8&%(V:!>CRP)0$@+'D,:],SE1Q]PL.Y+
M<!.2W(3<T1UJB(9JG9=@*R39"AEF*Z1FJTD'KO1AQ\J2<(7.A*L[0\N//M[@
MFWX)MD*2K=!HMD)&V<J4M[9.R59(SU;:Y6=R^N-G@IW0.ZEDQ4#D3H( ]SR"
M)2.A#QAI<.^%RMY#W8S5P]3I8@DM6 L+0WKJS!5#'W#P#L E6 =+UL%P]$:'
M4=0QY:VM4_(0-LQ#>G^#U:MYJ*^ZC[:ISN2A>T,KAC[>8-F7P"$L<0B/QB%L
M%(=,>6OKE#B$]3BD6S%JT]9"@&$X04'G^:L8Z$WP), ]&R988@W^ &L&]YY_
MSG_">D:%G73MH^UTT1QOY5L&#)2/^FI_NCG;O,EP4^[?=\[?PNM%]3Z"=%.]
M'O$0T;<D8R E*^'2N0K$5-+JC8/J@.?;<M/^->>B0\NO:Q(M"2T&B.NK/.?O
M!T6 YKV/^?]02P,$%     @ '8DM62/T5M=3 P  DP\  !D   !X;"]W;W)K
M<VAE971S+W-H965T-#0N>&ULK5==;YLP%/TK%INF3EH+QGQV"=*:=-H>-D6M
MVCV[R4UB%7!F.TG[[V<#)2$AJ.UX23#<<WR.?<'W#K9</,HE@$)/69K+H;54
M:G5IVW*ZA(S*"[Z"7#^9<Y%1I8=B8<N5 #HK0%EJNXX3V!EEN94,BGL3D0SX
M6J4LAXE <IUE5#Q?0<JW0PM;+S=NV&*IS T[&:SH FY!W:TF0H_LFF7&,L@E
MXSD2,!]:W_#E" <&4$3<,]C*O6MDK#QP_F@&/V=#RS&*((6I,A14_VU@!&EJ
MF+2.OQ6I5<]I@/O7+^S?"_/:S .5,.+I'S93RZ$566@&<[I.U0W?_H#*D&_X
MICR5Q2_:EK&AGG&ZEHIG%5B/,Y:7__2I6H@] /9. -P*X+X60"H *8R6R@I;
M8ZIH,A!\BX2)UFSFHEB; JW=L-QLXZT2^BG3.)7<7-]?_[Z[1N=HQ',E]*HB
M*B4HB6@^0].7>RFC#RQEBH%$9V-0E*7RLP;=W8[1V<?/ UMI+8;1GE;S7I7S
MNB?F_47%!2+X"W(=UVN!CUX/)TVXK5>@7@:W7@:WX"/=R]#FHP1Z[4#SEEW*
M%9W"T-*OD02Q 2OY] $'SM<V5SV1-3R2VB/I8D\.-KC-:TD0% 3F [!)(M\-
M0C<8V)M]&RUQL1=&&-=Q#85>K=![G<*]=&N36;+X>].3, IC0@YD'L>YA! _
M/B'3KV7ZG3+', <A8*8_8QO(U] FL9/AK5G3$UG#;%";#=[[9@1]>NR)K.$Q
MK#V&O>1=>)Q/V"%^$![DW7$<QK'OQE%[WD6US*A;9G$<@$!C6'')VE_A3HJW
M;DI/9 VW<>TV?F_BQ7UZ[(FLX1$[N^/7Z27U*II&3@611X+#3W-;(":1&Y/V
MY,-[E0+NE'J7:X$IS%KE=4+?NB5]L36-[FH!_.YB /=:#?3%UO2YJP?P?Q<$
M%4,CFV+7]WSL'N9=6Z07Z</6.Y%XNZH =Y<%$\$7VK]$$_JL.X@32CLYWKPS
M/;$U'>\*#.R_.P-[K2SZ8FOZW-46N/-8?U4&!D>UYCEV0C<,HZ-/7VNH3R)]
M2!_DH+W7,9EV5?<3"Y9+E,)<8YV+4*^+*#O <J#XJFBB'KC29W!QN=1=,P@3
MH)_/.5<O ].7U7UX\@]02P,$%     @ '8DM608=>DYI P  +0X  !D   !X
M;"]W;W)K<VAE971S+W-H965T-#4N>&ULM5?);MLP$/T50EW0 JFU>4E26T"V
MHCVD"!*D/=/2V";*125I.^G7=T@YBNTJ2NJZ%UNDYKV9-Z2&P^%2Z1]F!F#)
MG>#2C(*9M>5Q&)I\!H*:CBI!XIN)TH):'.II:$H-M/ @P<,DBOJAH$P&V=#/
M7>ELJ.:6,PE7FIBY$%3?GP)7RU$0!P\3UVPZLVXBS(8EG<(-V-OR2N,HK%D*
M)D :IB31,!D%)_'Q69PZ@+?XQF!IUIZ)DS)6ZH<;?"E&0>0B @ZY=104_Q9P
M!IP[)HSCYXHTJ'TZX/KS _LG+Q[%C*F!,\6_L\+.1L%A0 J8T#FWUVKY&5:"
M>HXO5]SX7[*L; =)0/*YL4JLP!B!8++ZIW>K1*P!XOX3@&0%2+8!W2< Z0K@
M,Q=6D7E9Y]32;*C5DFAGC6SNP>?&HU$-DVX9;ZS&MPQQ-KN^^';Q]?:"?" G
M1<%<9BDG3%;[P^7YW3E8RKAYCR:W-^?DW>OWY#5:D$O&.1J886@Q#L<6YBN?
MIY7/Y F?<4(NE;0S0RYD <4F08@":A7)@XK3I)7QDNH.2>,#DD1)MR&@LY?#
MTY9PTCJIJ>=+VY/:E)D*V&T&NF_VV)0TAU& 'Z4!O8 @>_LJ[D<?FU3MB6Q#
M8[?6V&UCSZ[!%0DFIZ0$[;>+S(&H,6?3:N-0H>;2-N6@(NY[8E=F%EDO&H:+
M=66MOG=4UJN5]9Y1M@ Y!RQ2SRC,E2@Y6"@(!V.(G5%)>M&;)LF5QSA>T]R-
M.]TMU:UQ[:BZ7ZONOT3UP;.R#]Q\#M)BE6^26KF)HS6I4:>WI;0UEAV5#FJE
M@Q>N;ZZFDOW"]1O?XV)*J_%0(9S1,>-8"J&QM W^7,FXDVS):S0ZK(TVPCZL
MPSYL#?L2%T7,15-,K<"_+2I[(MO0>%1K/-JU<![M4^.>R#8TQM'CD1O]6^F$
MNQ*['-R7E@EGIB;$X!LSH57O@S"FBL:#M]US2H0_>)MRT@[=-2EK?4C<OKWI
MW5/;NQWYMVN_+[9-G<FCSF37+;Y"[DOGGM@V=3ZV0'%K]_%?-WF[Y[3?MLOW
MVC.%:XVW #WU]Q&#9PEV/E7W6L_6=YX3W^EOS9^ZNY!OZ!]IJHL4]J93)@VV
M&!.DC#H#;!)T=3>I!E:5OKT?*XN7!?\XP_L<:&> [R=*V8>!<U#?$+/?4$L#
M!!0    ( !V)+5F:&3AJ8P,  *\,   9    >&PO=V]R:W-H965T<R]S:&5E
M=#0V+GAM;*U7;6_:,!#^*U8V39NT-K'S1CJ(U-).J[1N5>E>OKKD@&A)S&P#
MW;^?[83P9J*JX@O8SMUSSV-?SI?^BO$_8@8@T7-95&+@S*2<7[BN&,^@I.*<
MS:%23R:,EU2J*9^Z8LZ!9L:I+%SB>9%;TKQRTKY9N^=IGRUDD5=PSY%8E"7E
M_ZZ@8*N!@YWUPD,^G4F]X*;].9W"".2/^3U7,[=%R?(2*I&S"G&8#)Q+?#'$
M@78P%C]S6(FM,=)2GAC[HR>WV<#Q-",H8"PU!%5_2QA"46@DQ>-O ^JT,;7C
M]GB-_MF(5V*>J( A*W[EF9P-G)Z#,IC012$?V.H+-()"C3=FA3"_:%7;AI&#
MQ@LA6=DX*P9E7M7_]+G9B"T'?,R!- YDWR$XXN W#KX16C,SLJZII&F?LQ7B
MVEJAZ8'9&^.MU.25/L:1Y.IIKOQD>OMM^/WN!CU>_KX9H3-T6XU9"4C29S3G
M;)F;TWI_#9+FA?B@#'Z,KM'[MQ_ZKE3!-80[;@)=U8'(D4"8H#M6R9E -U4&
MV2Z JUBWU,F:^A7I1+RC_!SY^",B'@DLA(8O=_<[Z/CM3OH&SW_!3MJVI_8.
M[-[Z;;T0<SJ&@:->1P%\"4[Z[@V.O$\V:2<"VQ$:M$*#+O3T*Q,"/8$J(8#R
M-E] V$372)%!TA5EF9Z%V$N2(.R[RVU!%L.XYP>$M'8[7,.6:]C)=2N?X5F5
M/@$VEC5&N!4<)SXA)-XC:;,+PUY@YQBU'*-.CM]4L2[4GMJ810<1SV(O(#@F
M>]0LADF<J%INYQ:WW.+.I!XN.(=*7MBXQ:=,Z!.![8CLM2)[G0<PDE1:\Z)W
M>-Y>@/=VOA/[E<R3EGG2R?R125J@YI!L"I*7*.B,\4H%V-M<0%YGBEW#!!3_
MS)ICC>^)DNQ4:+M*MZY:W'E:GR$#3@NK3GQP4,3KQ=%!";(8GI$(^_&10HG)
MAAUYW5O0^.V$Q&$4'.21Q3 (HR0\4H/PYF;%G?=9D^;K1+%R]&TE'.->M,_1
M9GB\AN/-I8B[;\67W33X\)ZS7S560PM/=ZOU*X%/34<LT)@M*EFW4NUJVW5?
MFEYS;_U*=^.FI=S U*V\:I2F>250 1,%Z9W':O-XW1W7$\GFIL%\8E*UJV8X
M4U\4P+6!>CYA3*XG.D#[C9+^!U!+ P04    "  =B2U9/*MYJ<<#  #*"P
M&0   'AL+W=O<FMS:&5E=',O<VAE970T-RYX;6RM5EUOZC@0_2M6=K5JI5N2
M."2$+B"UM%>WTO9#I7=W7TTR@:B)S=H.T'^_MA-2"B;;2OL"L3US?,YX/)[1
MAO%7L020:%L65(R=I92K2]<5R1)*(GIL!52M9(R71*HA7[ABQ8&DQJDL7.QY
MD5N2G#J3D9E[XI,1JV214WCB2%1E2?C;-11L,W9\9S?QG"^64D^XD]&*+& &
M\N?JB:N1VZ*D>0E4Y(PB#MG8N?(OIS[6#L;BSQPV8N\;:2ESQE[UX"X=.YYF
M! 4D4D,0];>&*12%1E(\_FE G79/[;C_O4/_;L0K,7,B8,J*O_)4+L=.[* 4
M,E(5\IEM?D C*-1X"2N$^46;QM9S4%()R<K&63$H<UK_DVT3B#T'/SKA@!L'
M?.C0/^$0- Z!$5HS,[)NB"23$6<;Q+6U0M,?)C;&6ZG)J3[&F>1J-5=^<G+W
M,'V\OT4O5W_?SM %^MF;]=!W2(&3 LTDD95D_ T]$PGHA:&K1%9JX85LT1-G
MZ]P<YMDU4,AR>8Y48-$=35@)V@0$.KL!2?)"G&OHV0TZ^_5\Y$I%6V_N)@W%
MZYHB/D'1Q^B>4;D4Z):FD'X$<)7>5C3>B;[&G8CWA/=0X']#V,-]"Z'IY]V#
M#CI!>P:!P0L^<0:V\-3>?;NWON>78D42&#OJ(@O@:W FO_WB1][O-FG_$]@'
MH?U6:+\+?6*R2[19E=>I(LG6IKJ&B@R4+D;KR87O#0(OCD?N>E^1S3#JA_ZP
MM?M -FS)AIUD=?;#'L=OB*JJRC*4-==C7J>]C7N-'!Y0Z@?! 76;7>C'@]A.
M/6JI1YW4'YB^*)6JD/-"29!0"E5R"Z4G19*A>264@Q!(29OGE-3UE*8HS85@
MQ5I9J?=!%4"*@,I<OMDD=C+X:E)&1W&(PGZ,[5$8M%$8=$9ANB1TH4_0I!R@
MA\<_A$U))\I7E0R.E.!@&.$34N)62OQ)*6M25,V!%>H))C0!FZ;XB$;@]_WP
MZ.X<VV&5J'%HISMLZ0[_X^JPY/5"OZZISC'5<@C#V<:T$^FKT1\>WR?L#>/
M+L?WWA])KU/0HUP"M[Y<WG$ 8\7N(,P6,]\/!B?"[.\]WGXGK[NV.B'8ZC!;
MDZ$!V:^0_C# & \.:=H,PS#NG^")WWGB3IZW60:F7S-4N;J-5IXUB(_W]O=Z
MP> P:7=VW@<[?!A-=Z\K*H$O3+.HBUY%9=TKM+-M0WIEVK"#^6O=J)INZQVF
M[G)5)[#(J4 %9 K2ZPW4"?.Z<:P'DJU,[S5G4G5RYG.IFFW@VD"M9XS)W4!O
MT+;ODW\!4$L#!!0    ( !V)+5G*^5JG\0,  !H.   9    >&PO=V]R:W-H
M965T<R]S:&5E=#0X+GAM;*V7;6_;-A#'OPJA#4,+-)%(/6>V@=9IL;YH&]1I
MM[>T3-M"*-$CZ3CY]CO*BBQ+E.H!>6/KX>[X.XIW?W)R$/)!;1G3Z*G@I9HZ
M6ZUW-ZZKLBTKJ+H6.U;"F[60!=5P*S>NVDE&5Y53P5WB>9%;T+QT9I/JV9V<
M3<1>\[QD=Q*I?5%0^?R!<7&8.MAY>? ]WVRU>>#.)CNZ80NF?^SN)-RY3915
M7K!2Y:)$DJVGSGM\,\>1<:@L?N;LH%K7R*2R%.+!W'Q>31W/$#'.,FU"4/A[
M9'/&N8D$'/_609UF3./8OGZ)_JE*'I)94L7F@O^=K_1VZB0.6K$UW7/]71S^
M8G5"H8F7":ZJ7W0XVH:>@[*]TJ*HG8&@R,OC/WVJ)Z+E@(,!!U([D$L=_-K!
MKQ(]DE5IW5)-9Q,I#D@::XAF+JJYJ;PAF[PTGW&A);S-P4_//G^=?_OR$=V_
M_^?C EVA6[9F4K(5NJ=/3*$WMTS3G*NW\.K'XA:]^?WMQ-4PK'%VLWJ(#\<A
MR, 07ZB\1CY^AXA' HO[_')W_]S=A62;C$F3,:GB^0/QFA0U?4)4*:;5C2VI
M8Y3 'L54UXW:T8Q-'2@?Q>0C<V9__(8C[T];BJ\4["QAOTG8'XL^^PK- ,I>
M4IV7&\2%4BBC4CY##SA0N;+E?@P850%-(WB<13Y\/(],W,=V6GV[,/'3%(>-
MW1EQT! 'H\1S44";4M04N@WOZ!VVAL4!(7Z7KF]&L.][B1TN;.#"4;B%%ME#
MU3I6*&N!(FIF4]EXPQY(')*P0]LW(@$)X]1.&S6TT2CMM].'9X!LQ8OZTXG3
M,$EQA[!OY]GAX@8N'H?36R91KEFA4"DT]#LHS%+S9VC$JSTT^"5G-N"X!Q+Z
M410%'=Z^&291G!([=-) )Z/0]T)3;I2BVT5LI$D/(<%)$.,N:M\N@A4=IH&=
M-6U8TU'6GY3OZ\7)0;!IF5GG,^V-?A7Z&$>)U\&T&!(<>]X0)_9.,N3]LDE=
M.*=UI+-*26+?\[N3:C&$BB*A-[!L<4LT\>4:PG.ZS'FN<V87DCK6*RG):T4[
MS_PDGGA4JB!S")OE@ZVY=C];(CB,2!STOH[-,HUQ% PMII/@X7'%NZ3IU2'.
MA\=A[+4Z;@W:MQQ:0">!P[]2N%)+V,+"-C83^[)B+9C>"KN X+Z4P:SZ!'=;
MM,W0#](H'B(^J1X>ESU+VVLM?"MTV-L=7 T4:E_[KD#.L8^'EL))_O"X_K4K
ME:EWJ&3:RCH:Y7_7:-3+'*?04).HDX[;VKB;4Q/L=3=YJ6#9KL'3NXYA2N3Q
M('*\T6)7[>670L/)H+K<PN&-26, []="Z)<;<SQHCH.S_P!02P,$%     @
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
M>IJJO5(6FDSU.E55Y_G6-5JFW=>W^\@KA[X4>9-B7D-B!\@[!?).)?*'3;0
MAN@2X8U84T;^0""91Y'D?7;CWF::]AYPV\@^1]#K&H[K&GJGAM?'A@<@[ *$
M71.$O 1P(<\%$J]>)U$I>NFI8)^LK><X3L<RCV"5V'7;5L?H';%J:'('/+L%
MSVXESZF\IP!C,IOF:C=?H7G*$ V+-"O#6:EY*<[N":9V>?(U.:K7D-@!=*>
M[M1,XOP?7):2(A#9L?HW[RO#7ZE^*7[G%/\1]R:'\QH2.^#>*[CW*KGGN5U"
M>^\P*0->*7LI\-X)\.-$?]7":VA"&45][SJM'DOR7K@B,4<A+*6\T7+D3%CV
M ,DJ@B;I#7M!A;ROI\6U?+,!4P:R?TFI>*FH2WOQ"G3_ 5!+ P04    "  =
MB2U9P<E!1A %  "R'@  &0   'AL+W=O<FMS:&5E=',O<VAE970U,BYX;6RU
M6>]SJC@4_5<R[,Y.W\Q62!#%KCICI3O;V6WMU/?Z/D>(RCP@;HC:_O<;?@BB
M-(*;]Z6%F'MNSN'*/3'#/64_XC4A'+R'012/M#7GFSM=C]TU"7'<H1L2B4^6
ME(68BUNVTN,-(]A+@\) 1X;1TT/L1]IXF(Z]L/&0;GG@1^2%@7@;AIA]W).
M[D<:U X#K_YJS9,!?3S<X!69$_YM\\+$G5Z@>'Y(HMBG$6!D.=(F\,Y!W20@
MG?'FDWU\= T2*@M*?R0WC]Y(,Y(5D8"X/(' XM^.3$D0)$AB'?_FH%J1,PD\
MOCZ@_YF2%V06."93&GSW/;X>:;8&/++$VX"_TOU?)"=D)7@N#>+T+]AG<_N6
M!MQMS&F8!XL5A'Z4_<?ON1!' >BS )0'H*8!9AY@-@WHY@&IU'I&)=7!P1R/
MAXSN 4MF"[3D(A4SC1;T_2AY[G/.Q*>^B./C^=?9]._;^\G\P0'3V=/+P_-\
M\O5Q]@QNP9Q3]P>@F_+Y^/P#W#B$8S^(OX@9W^8.N/GURU#G8B4)GN[F6>^S
MK.B3K!"!)QKQ=0P>(H]X50!=4"AXH ./>R1%?,*L TSX.T &ZM8L:-H\W*P)
M=YJ'(PD;LW@J9HIG?H+WO T7A('9$LQ2^>,ZB3.(;CU$\KZXBS?8)2--O!!B
MPG9$&__V"^P9?]3)HQ+,4016D:Y;2->5H8]G6QYS''E^M *8 [XF8$%6?A0E
M W29#FP(\ZD';OP(Q&LLUE!;PED>*\V3O#YWXUZO;QG&4-\=*]=LFB-=]96:
M6(4FEE23AW?"7#\F%RE;9UQN(1)<3CE+T[6M%D5@%65ZA3*]MM5"(J]=G?3.
M1+.ZZ+Q.SJ?5ULG%:16>_8)G7\KSC<1</'[* 'G?B)8KKCD%.S%Z->U^,]K2
M=;4M%45@%0GM0D*[R9<(+P("1,6DX@D9KY7/;B:?=$UMY5,$5I%O4,@WD+:T
M[ZD#$X)-=H0)1PD.+R7PPGR7U$DT4-G@5((YBL J0D*CM&R&RA;GT2# +$Z&
MLH*L-VQ93ONH(&''[)^48Z-9CGS]U^IS9&EABW;7D'X&.3@B9G1Z]BE]:>*V
M5:0*K2H3*F5":GI?0P71F8*P8YFG"J)&!71A5I5QZ:JAU'E>W04;"F V$D"I
MTU:%5A6T]-I0;K:OZ8D-Q>S65,"YF(I<=2[FS_#HL#3IT))VR,EJQ<@*<P(>
M(\[\*/9=\(:#;6UOA"HM^%0IFJ,*K:IC:>EA<T^_2_2[T"1KY<U2]([*S[2-
M;@]9IQ58,]$:]/MGOEZ^Z&M%*?T_E&\ BIY8R_;<R]L)UU,S*L_1NDQ^AIN'
MI9V'<C__:9F<O;9J)3OW[Q BVSXO$+M9)3EU$T\JJ<JT=-Y0ZD>O:7NUE =-
M*2OUVJK0JC\KEF8;R<UVRQ97)UR>H7=1./E2V@JG"JTJ7.G"$6RWX7LER3E$
M\G6;4M'@L,NW. #_^$N2^H(/(EQ!K1= *EWW5"F:HPJM*G+IX='_]_"UDLIA
M4?8T (0@S'ZG[P(/?]3]##V] &7F4/8!":+/H)P+4-T<JG^ 0G8-5%7)<F^
ME.\-:H659VDEK-*=@BJTJKSE3@$IW2G42BO/T$I:I?L&56B9M/K185Y(V"H]
M%(V!2[<1S\[#BM'BX'62'C>>C-_#.R<[/BUALM/<)\R$$XY!0)8"TN@DQY\L
M.R#-;CC=I$>&"\HY#=/+-<$>8<D$\?F24GZX21(4Q]3C_P!02P,$%     @
M'8DM68F7;_6Y P  -1   !D   !X;"]W;W)K<VAE971S+W-H965T-3,N>&UL
MM5AM;^(X$/XKH]SJ="=UF]B\%'J !)35K6Z[H-*]_6R2 :(F<<XVT$KWX\].
M0I)J0TIZ[!<2)YEGGIFQG]$P.'#Q)+>("I[#())#:ZM4?&O;TMUBR.0UCS'2
M;]9<A$SII=C8,A;(O,0H#&SJ.%T[9'YDC0;)LX48#?A.!7Z$"P%R%X9,O$PP
MX(>A1:SC@P=_LU7F@3T:Q&R#2U3?XH70*SM'\?P0(^GS" 2NA]:8W$YHRQ@D
M7_SMXT&6[L&$LN+\R2P^>T/+,8PP0%<9"*8O>YQB$!@DS>.?#-3*?1K#\OT1
M_5,2O YFQ21.>?#=]]1V:/4L\'#-=H%ZX(<_,0NH8_!<'LCD%P[9MXX%[DXJ
M'F;&FD'H1^F5/6>)*!FTZ D#FAG0A'?J*&%YQQ0;#00_@#!?:S1SDX2:6&MR
M?F2JLE1"O_6UG1HM'^?3OSY.QLO9'4SG]XO9U^7X\?/\*WR$I>+N$_#89$^"
MKJA4+/+\: .K%\!G%*XO$6+ANPB_W:%B?B!_']A*LS+8MILQF*0,Z D&A,(]
MC]16PBSRT'L-8.MP\ICH,:8)K46\9^(:6N0*J$/;\ %LD%LF4&:7&@^M/&NM
MQ$.K8=:JHD^1VM5(YM#=RIBY.+3TJ9(H]FB-?OV%=)T_:GBV<Y[M.O31/"O>
MO%2\?RO3D')-T3H)FCG/^U&G33N.,[#W%2PZ.8O.62QFZ9YAJP!K670:L>CF
M++JU+!Y8M$&81UCELM;TG46ZR8G=7&PSW?P$GKV<9Z\V@;/CD5^8(W\%7_@!
M!21IK:*:@O5*572N'5)=PWY.H=^(PK<XKJ/0KZ#0[U=3($ZAF,Y%#U4&5][/
MI']Z/Y.2=).F1*[@>]*'T(/Q'H7NJ_" ICD;DE,MLT*WP1T+X!%%6$FVWB6!
M%V0"VA"FDMT'C[W4*2JA133T M&\W@&5$="*JK?HB607BD]JA;JQB&5P9U>]
MD'1RGJ:7B+PO3^TF>2JTGM2+?2JSCP=>Z;/6]IWZ18H.0+H74UKR,UH"*7H"
MJ97RIF*;H95WVZE*%G)/FNG]&V)+?A1\>EIM"\4G]9+?6&W[/V2BI4_=J7-'
M"]FGC67_?ZOM&RY;B=I*(*G< NV]);>T:![T$LWC;1G)W+PN.SE1=EIT WI>
M-SA7;C.XL\M>Z#YMK/OORU/KG#S9I4DN1+%)YE4)+M]%*AWJ\J?Y3#Q.)\'B
M\W2@UE/0QM?$ UQK4^?Z1N=&I#-JNE \3N;"%5=ZRDQNMWJN1V$^T._7G*OC
MPCC(_RD8_0=02P,$%     @ '8DM60,^,3]5!@  5R\  !D   !X;"]W;W)K
M<VAE971S+W-H965T-30N>&ULO9IK;]LV%(;_"N$-0PNDL43?L\2 8TE;-Z0-
MXK;[S%BT3507CZ3M9-B/'RG)DADS; 0<[$LBRSP/+R])';WF]2'GW\6&4HF>
MTB03-YV-E-NK;E<L-S0EXC+?TDQ]L\IY2J3ZR-==L>64Q$50FG2QYPV[*6%9
M9WI=W+OGT^M\)Q.6T7N.Q"Y-"7^^I4E^N.GXG>.-![;>2'VC.[W>DC5=4/EU
M>\_5IVY-B5E*,\'R#'&ZNNG,_*L(#W1 4>(;HP=Q<HUT5Q[S_+O^\#&^Z7BZ
M132A2ZD11/W;TSE-$DU2[?B[@G;J.G7@Z?61'A6=5YUY)(+.\^0O%LO-36?<
M03%=D5TB'_+#[[3J4-' 99Z(XB\Z5&6]#EKNA,S3*EBU(&59^9\\50-Q$N#W
M7PG 50!^:T"O"NB]"%!#:0_H5P']MP8,JH#!6P.&5<"P&/MRL(J1#H@DTVN>
M'Q#7I15-7Q1R%=%J@%FF9]9"<O4M4W%RNOCR>?[GA]O9(@S0_//=??AI,?OR
M\?,G] '-XIAI]4F"6%;.83T7W@54$I:(]ZK(UT6 WOW\_KHK55,TL+NLJ@W*
M:O$KU?H8W>69W @49C&-34!7]:'N"#YVY!8[B7^0[!)Y^ )A#_<M#9J[PV>[
MM0KO%>$]6W_<X7>$7Z*>_VKMX=O#;;5';P_'CK'LU9.B5_!Z+2>%I66W):EO
M)^E]\4ILR9+>=-3&)RC?T\[TEY_\H?>K32-(6  )"R%A$1#,T+9?:]MWT=5<
M>6+I+D5+M?RXVM=W:GE+RE/TCF7HF1(N;,OYU@EM*S,D+'!W%Y=]0KZ/TG+#
MZ:.8/ N;QFY2KR*-CR"UA[U"BMRD?D4:'4EX;"$9Z@YJ=0=.]&)#./V@'[4Q
MFN>IRC]$N6O/."?9FJJ<0*+'9W1:[IX\%[=G!\+C"Q01QM$WDNPHF@F5<&QU
MO+A X=-690.J_!<U6VQ3Q-FRME,$$A:XQVQ0RF&;$9"MB(!@QKP8UO-BZ)X7
M,E]^1Z7>R]-Y0;)8)8A"<E9H*XIR1,\$VX#<.FMIJS$D+"AAPP*FT^G]%(_[
M$SRX[NY/%;44&_2\T<0L%@$US=!J5&LU<FI5+,!]L0#S%1)ZI0I$CZM/YFBO
M]+*)X\2V%6=T-E"^[XT\SQRH ++.$!(6 <$,"<>UA&.GA _-BBIV6NM:<B+:
MR@4)"R!A(20L H(9HDYJ42=@6?$$4EM(6  )"R%A$1#,T-;WFO=@S[ED?U/Y
MD5ZO1.VP4N7$S=:KKEX^(6V2N_EM-:]H@]/]=^"=;;^@E8:@M B*9@IZ8FSX
M3D$_[=)'RD]T/+ D*9Z=2.4]E"PW^CNYH6C%N) 72%#U3J028)T2R0WC:BYD
M&=M3+@AG]BW<W836FOMGFMLDAZPS!*5%4#13<MQ(CO^7+-==36M9(6E!13N=
M)-9$MRIG)'#>Y#S3A6J=*5GC-/E.LV-JO*0N<WMBZV:TU@/49:IHAAZCX>A,
M#E #"8IFBM982+[;P/B:<;57KC/VS\N%]JJ"H/X1*"VH:*<K9=SSSA<49*41
M%,U4L+&)?+?G@3U_B.X3DEG% G5R0&D!*"T$I450-%/3QN+QAV#O)SZHD0-*
M"T!I(2@M@J*9$C?.D.^VADHS 57HV*HLJ L$2@LJFO%2@W6*Z[W<:T&=("B:
M*5KC!?EN,Z@2C>P)2\ACHMXW<H[6^G73JA^H+01*"RJ:D>L,1H-S^4 ]'RB:
M*5_C^OA.XZ'^P>Q?Y'YH@EH^H+0 E!:"TB(HFGEHH+%]L ?VT,2@#@\H+0"E
MA:"T"(IF2MP80;BE$:2NU$M+JEY77C7SW,C64D/2 GQN$]F?HJ#51E T4\7&
MV\%N;T>?(U,J+C>,KM"*921;LL*F7;&ENO^#W=D-;ZTGJ*,#2@M!:1$4S12]
M<8<PW$$D#&H2@=("4%H(2HN@:*;$C9>$W5[2@]66+4XCE=NU]3A2!?W!SR-S
M=]VM582DA:"T"(IFJMCX2?@'YXX*Z3X*L5,ZJJT:12R+U;8<46J5;W!FN8TF
M9^\1<W>EK>4#M8Y :1$4K92O>W(>6#TTU\7);:&2GETFRQ.U]=WZ=/BL.!/]
MXG[@7T7E&>\&4QXYOR-\S3*!$KI22.]RI#K RU/<Y0>9;XM3QX^YE'E:7&XH
M47-"%U#?K_)<'C_H"NJS]-/_ %!+ P04    "  =B2U9=E_;MV(#   %#@
M&0   'AL+W=O<FMS:&5E=',O<VAE970U-2YX;6RM5VM/VS 4_2M6-DT@K>31
M%["V$A38T 2M*&R?37*;6"1Q9KLM2/OQNT[2D$ (*\J7UHY]CN\YOG&N1QLN
M'F0 H,AC%,9R; 1*)<>F*=T (BH/> (QCBRYB*C"KO!-F0B@7@J*0M.QK($9
M418;DU'Z;"XF([Y2(8MA+HA<11$53Z<0\LW8L(WM@QOF!TH_,">CA/JP '67
MS 7VS(+%8Q'$DO&8"%B.C1/[>&H[&I#.^,5@(TMMHJ7<<_Z@.Y?>V+!T1!""
MJS0%Q;\U3"$,-1/&\2<G-8HU-;#<WK)?I.)1S#V5,.7A;^:I8&P<&L2#)5V%
MZH9O?D NJ*_Y7![*])=L\KF60=R55#S*P1A!Q.+LGS[F1I0 =N\-@),#G/\%
M='- -Q6:19;*.J.*3D:";XC0LY%--U)O4C2J8;'>QH42.,H0IR:+V]GT9^?T
M9'%^1J:SJ_GY]>+D]G)V33KDE%/A$;XD'A-H.A>2N#R*T'N,RGT@=*/']\Y
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
M7YT]7O5>JX%DR[)]^<RD9&GYN" X)KPP4+_/&)-O@V*!N@,^_@]02P,$%
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
MH9I -1_5 E0+44VB6H1J,:HEJ*9035.:F2!NDR"G]39=M+>):AZJ"53S42U
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
MYJ7>7]"J2 1I/P[O)#EN^S+!>E]5@=ZWK!<-+8\O"A]?<O[T+U!+ P04
M"  =B2U9EW=RY"P"  #V*   &@   'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR
M96QSS=I+3N- %(7AK41> )6ZKT"+,.H)4\0&K%!YB"2.7&X!N^\H#))C]: G
MR&=DE2U?_Z-/5MF/+V7?#KON6+>[4YU]'O;'NFRVPW#ZE5)=;<NAK7?=J1S/
M5]9=?VB'\[+?I%.[>F\W)<E\'JF_G=$\/=[.G+U^G<K_3.S6Z]VJ_.Y6?P[E
M./QC</KH^O>Z+65H9J]MORG#LDF?^^OIFBZ'?'>>W,R>WY9-__R6FS1UD$"0
M3!^D$*33!QD$V?1!#D$^?5! 4$P?M("@Q?1!]Q!T/WW0 P0]3!^4YRCCG"!I
MA#6!UAFYS@1>9P0[$XB=D>Q,8'9&M#.!VAG9S@1N9X0[$\B=D>Y,8'=&O#.!
MWH)Z"X'>@GH+@=XR>MDFT%M0;R'06U!O(=!;4&\AT%M0;R'06U!O(=!;4&\A
MT%M0;R'06U%O)=!;46\ET%M1;R706T>;)01Z*^JM!'HKZJT$>BOJK01Z*^JM
M!'HKZJT$>BOJK01Z&^IM!'H;ZFT$>AOJ;01Z&^IM!'K;:+.;0&]#O8U ;T.]
MC4!O0[V-0&]#O8U ;T.]C4!O1[V=0&]'O9U ;T>]G4!O1[V=0&]'O9U ;Q]]
MK"30VU%O)]#;46\GT-M1;R?0VU%O)] [4.\@T#M0[R#0.U#O(- [4.\@T#M0
M[R#0.U#O(- [1C^;$.@=J'<0Z!VH=Q#H':AW_*3>=?C:EWKM^5[C3T$_2?5P
MOK=<'W]9?I]$G!<7G--M17WZ"U!+ P04    "  =B2U9UD@C+O<!   K*
M$P   %M#;VYT96YT7U1Y<&5S72YX;6S-VLM.PS 0!=!?J;)%C>LG#]%N@"VP
MX =,,J51D]BR72A_CY,"$@@J4)&XFT:M[;D3CW16/;][]A0GVZ[MX[Q8I>3/
M&(O5BCH;2^>ISRM+%SJ;\M?PP+RMUO:!F)C-#*M<GZA/TS34*!;GE[2TFS9-
MKK;YY]BX?EX$:F,QN=AM'++FA?6^;2J;\CI[[.M/*=/7A#*?'/?$5>/C4=Y0
ML"\3AI7O U[/W3Q2"$U-DUL;TK7M\BZV;5E,SRW%<G^)+WITRV534>VJ39>/
ME-$'LG5<$:6N+7=%C_8GIWS#M/OD!^>/9?8%YIVWP?F8)Q;H]W%O(QE.3WTN
M1"$U^U_Q/3&7/OC]:)AV3?4/L_/U/KFP'N<1V?@X_(X_SOB]_B_[$"!]2) ^
M%$@?&J0/ ]+',4@?)R!]G(+TP6<HC:"(RE%(Y2BF<A14.8JJ'(55CN(J1X&5
MH\@J4&05*+(*%%D%BJP"15:!(JM D56@R"I09!4HLDH4626*K!)%5HDBJT21
M5:+(*E%DE2BR2A19)8JL"D56A2*K0I%5H<BJ4&15*+(J%%D5BJP*15:%(JM&
MD56CR*I19-4HLFH4636*K!I%5HTBJT:15:/(:E!D-2BR&A19#8JL!D56@R*K
M09'5H,AJ4&0U_RGKO7/K/XX?GV5GF_XMGXW_$5R\ %!+ 0(4 Q0    ( !V)
M+5D'04UB@0   +$    0              "  0    !D;V-0<F]P<R]A<' N
M>&UL4$L! A0#%     @ '8DM6;B=%R[N    *P(  !$              ( !
MKP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ '8DM69E<G",0!@
MG"<  !,              ( !S $  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"
M% ,4    "  =B2U9,)S>CI@'   /,@  &               @($-"   >&PO
M=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ '8DM66B!\0AQ!@
M;AH  !@              ("!VP\  'AL+W=O<FMS:&5E=',O<VAE970R+GAM
M;%!+ 0(4 Q0    ( !V)+5E0&?$O@P(  #$'   8              " @8(6
M  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    "  =B2U9D5XA
M+I\$  !^$   &               @($[&0  >&PO=V]R:W-H965T<R]S:&5E
M=#0N>&UL4$L! A0#%     @ '8DM6?JT>Y2A!0  Q!\  !@
M ("!$!X  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( !V)
M+5DX)%W5-P@  )LB   8              " @><C  !X;"]W;W)K<VAE971S
M+W-H965T-BYX;6Q02P$"% ,4    "  =B2U9.+-F3+$"  #F!0  &
M        @(%4+   >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%
M  @ '8DM67^KH3_%!   -0L  !@              ("!.R\  'AL+W=O<FMS
M:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( !V)+5G+A VI_Q4  ! ^   8
M              " @38T  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"
M% ,4    "  =B2U9C.FO9^4"  #2!@  &0              @(%K2@  >&PO
M=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( !V)+5EOUB(&P@8
M %D2   9              " @8=-  !X;"]W;W)K<VAE971S+W-H965T,3$N
M>&UL4$L! A0#%     @ '8DM6;50Y];4"0  *AL  !D              ("!
M@%0  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    "  =B2U9
MA&]-?/L%  "P#P  &0              @(&+7@  >&PO=V]R:W-H965T<R]S
M:&5E=#$S+GAM;%!+ 0(4 Q0    ( !V)+5GUU4%1F0P   LG   9
M      " @;UD  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#%
M  @ '8DM64(U]J>P P  Z @  !D              ("!C7$  'AL+W=O<FMS
M:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    "  =B2U9VO4=T-L"  #L!@
M&0              @(%T=0  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+
M 0(4 Q0    ( !V)+5E+@'6[+@4  /$+   9              " @89X  !X
M;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ '8DM6= 04ZP&
M!   - D  !D              ("!ZWT  'AL+W=O<FMS:&5E=',O<VAE970Q
M."YX;6Q02P$"% ,4    "  =B2U9U0JXS$$3   T/0  &0
M@($H@@  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( !V)
M+5F"4/Q9GP0  +T*   9              " @:"5  !X;"]W;W)K<VAE971S
M+W-H965T,C N>&UL4$L! A0#%     @ '8DM687, A/.!0  01   !D
M         ("!=IH  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4
M    "  =B2U94SE?J* %  !'#   &0              @(%[H   >&PO=V]R
M:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( !V)+5E3;\< ?P8  "(0
M   9              " @5*F  !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL
M4$L! A0#%     @ '8DM68.).>P^!@  T@\  !D              ("!"*T
M 'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    "  =B2U9"L>V
MY$$"  "8!0  &0              @(%]LP  >&PO=V]R:W-H965T<R]S:&5E
M=#(U+GAM;%!+ 0(4 Q0    ( !V)+5DFVB\.1 (  (H&   9
M  " @?6U  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%     @
M'8DM6=WNCL4T%P  ;T<  !D              ("!<+@  'AL+W=O<FMS:&5E
M=',O<VAE970R-RYX;6Q02P$"% ,4    "  =B2U9-2V#[PT#   L!P  &0
M            @(';SP  >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4
M Q0    ( !V)+5E0@*+2900  #L.   9              " @1_3  !X;"]W
M;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ '8DM6<&2\._D!0
MR1$  !D              ("!N]<  'AL+W=O<FMS:&5E=',O<VAE970S,"YX
M;6Q02P$"% ,4    "  =B2U9J;(G7N,"  "T!P  &0              @('6
MW0  >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( !V)+5GT
MQ.[%MP,  *T,   9              " @?#@  !X;"]W;W)K<VAE971S+W-H
M965T,S(N>&UL4$L! A0#%     @ '8DM6<<)(4NS @  (P<  !D
M     ("!WN0  'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4
M"  =B2U9B'T:GN8"  #C!@  &0              @('(YP  >&PO=V]R:W-H
M965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( !V)+5GP&&P^)@,  %0'   9
M              " @>7J  !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L!
M A0#%     @ '8DM6;9%1?SU @  Z@8  !D              ("!0NX  'AL
M+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    "  =B2U9<M+YE1X#
M  !V!P  &0              @(%N\0  >&PO=V]R:W-H965T<R]S:&5E=#,W
M+GAM;%!+ 0(4 Q0    ( !V)+5E%VBJX:00  #8.   9              "
M@</T  !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @ '8DM
M66YM^(>1!   \@H  !D              ("!8_D  'AL+W=O<FMS:&5E=',O
M<VAE970S.2YX;6Q02P$"% ,4    "  =B2U9-&[M/KX*  #Q@   &0
M        @($K_@  >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0
M   ( !V)+5E'4!SBQ ,  * ,   9              " @2 ) 0!X;"]W;W)K
M<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @ '8DM6?"5E\1; P  /P\
M !D              ("!&PT! 'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q0
M2P$"% ,4    "  =B2U9_K,CRN $   #(@  &0              @(&M$ $
M>&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( !V)+5DC]%;7
M4P,  ),/   9              " @<05 0!X;"]W;W)K<VAE971S+W-H965T
M-#0N>&UL4$L! A0#%     @ '8DM608=>DYI P  +0X  !D
M ("!3AD! 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4    "  =
MB2U9FADX:F,#  "O#   &0              @('N' $ >&PO=V]R:W-H965T
M<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( !V)+5D\JWFIQP,  ,H+   9
M          " @8@@ 0!X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L! A0#
M%     @ '8DM6<KY6J?Q P  &@X  !D              ("!AB0! 'AL+W=O
M<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4    "  =B2U9#[#N[3@#   K
M#   &0              @(&N* $ >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM
M;%!+ 0(4 Q0    ( !V)+5ER$6^<P0,  &H/   9              " @1TL
M 0!X;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#%     @ '8DM651%
M,75' P  $0X  !D              ("!%3 ! 'AL+W=O<FMS:&5E=',O<VAE
M970U,2YX;6Q02P$"% ,4    "  =B2U9P<E!1A %  "R'@  &0
M    @(&3,P$ >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0    (
M !V)+5F)EV_UN0,  #40   9              " @=HX 0!X;"]W;W)K<VAE
M971S+W-H965T-3,N>&UL4$L! A0#%     @ '8DM60,^,3]5!@  5R\  !D
M             ("!RCP! 'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6Q02P$"
M% ,4    "  =B2U9=E_;MV(#   %#@  &0              @(%60P$ >&PO
M=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( !V)+5FXZZ @KP0
M (X?   9              " @>]& 0!X;"]W;W)K<VAE971S+W-H965T-38N
M>&UL4$L! A0#%     @ '8DM6=+T?"/P @  ; D  !D              ("!
MU4L! 'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"% ,4    "  =B2U9
M%V3AW+P$   -%P  &0              @('\3@$ >&PO=V]R:W-H965T<R]S
M:&5E=#4X+GAM;%!+ 0(4 Q0    ( !V)+5DILE*!  ,  (8)   9
M      " @>]3 0!X;"]W;W)K<VAE971S+W-H965T-3DN>&UL4$L! A0#%
M  @ '8DM6:%VHO\ !   "!(  !D              ("!)E<! 'AL+W=O<FMS
M:&5E=',O<VAE970V,"YX;6Q02P$"% ,4    "  =B2U9UFJ98A$;  "[W $
M&0              @(%=6P$ >&PO=V]R:W-H965T<R]S:&5E=#8Q+GAM;%!+
M 0(4 Q0    ( !V)+5D/,@G*N@,  (\0   9              " @:5V 0!X
M;"]W;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#%     @ '8DM6?=W,Y6X
M P  C1$  !D              ("!EGH! 'AL+W=O<FMS:&5E=',O<VAE970V
M,RYX;6Q02P$"% ,4    "  =B2U9\?#XU0\#   2"@  &0
M@(&%?@$ >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+ 0(4 Q0    ( !V)
M+5E%<67[=P(  %8&   9              " @<N! 0!X;"]W;W)K<VAE971S
M+W-H965T-C4N>&UL4$L! A0#%     @ '8DM63V&1Z>1 @  MP<  !D
M         ("!>80! 'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6Q02P$"% ,4
M    "  =B2U95/5HO]T"  !4"   &0              @(%!AP$ >&PO=V]R
M:W-H965T<R]S:&5E=#8W+GAM;%!+ 0(4 Q0    ( !V)+5D>Y:-X1 8  )@@
M   9              " @56* 0!X;"]W;W)K<VAE971S+W-H965T-C@N>&UL
M4$L! A0#%     @ '8DM66B(WZUG P  EQ0  !D              ("!T) !
M 'AL+W=O<FMS:&5E=',O<VAE970V.2YX;6Q02P$"% ,4    "  =B2U97$.0
MHTD#  #,%   #0              @ %NE $ >&PO<W1Y;&5S+GAM;%!+ 0(4
M Q0    ( !V)+5F7BKL<P    !,"   +              "  >*7 0!?<F5L
M<R\N<F5L<U!+ 0(4 Q0    ( !V)+5FZ6KKMV 4  &@M   /
M  "  <N8 0!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    "  =B2U9EW=RY"P"
M  #V*   &@              @ '0G@$ >&PO7W)E;',O=V]R:V)O;VLN>&UL
M+G)E;'-02P$"% ,4    "  =B2U9UD@C+O<!   K*   $P
M@ $TH0$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     30!- !(5  !<HP$
"   !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<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>89
<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>91
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.2.u1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>187</ContextCount>
  <ElementCount>375</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>70</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>995200090 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>995200100 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>995200105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>995200200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>995200300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>995200400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>995200405 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995210101 - Disclosure - DESCRIPTION OF BUSINESS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureDescriptionOfBusiness</Role>
      <ShortName>DESCRIPTION OF BUSINESS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995210201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPolicies</Role>
      <ShortName>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995210301 - Disclosure - ACCOUNTING STANDARDS UPDATE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureAccountingStandardsUpdate</Role>
      <ShortName>ACCOUNTING STANDARDS UPDATE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995210401 - Disclosure - REVENUE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureRevenue</Role>
      <ShortName>REVENUE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995210501 - Disclosure - INCOME TAXES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureIncomeTaxes</Role>
      <ShortName>INCOME TAXES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995210601 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShare</Role>
      <ShortName>CAPITAL STOCK and EARNINGS PER SHARE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995210701 - Disclosure - STOCK-BASED COMPENSATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureStockBasedCompensation</Role>
      <ShortName>STOCK-BASED COMPENSATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995210801 - Disclosure - CONCENTRATION OF RISK</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureConcentrationOfRisk</Role>
      <ShortName>CONCENTRATION OF RISK</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995210901 - Disclosure - OTHER CURRENT ASSETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureOtherCurrentAssets</Role>
      <ShortName>OTHER CURRENT ASSETS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995211001 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNet</Role>
      <ShortName>PROPERTY, PLANT AND EQUIPMENT, NET</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995211101 - Disclosure - ACCRUED EXPENSES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureAccruedExpenses</Role>
      <ShortName>ACCRUED EXPENSES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995211201 - Disclosure - DEBT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureDebt</Role>
      <ShortName>DEBT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995211301 - Disclosure - OTHER NONCURRENT LIABILITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiability</Role>
      <ShortName>OTHER NONCURRENT LIABILITY</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995211401 - Disclosure - LEASES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureLeases</Role>
      <ShortName>LEASES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995211501 - Disclosure - COMMITMENTS AND CONTINGENCIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureCommitmentsAndContingencies</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995211601 - Disclosure - SEGMENT INFORMATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureSegmentInformation</Role>
      <ShortName>SEGMENT INFORMATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995211701 - Disclosure - SUBSEQUENT EVENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureSubsequentEvents</Role>
      <ShortName>SUBSEQUENT EVENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.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>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.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>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>99920202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies</Role>
      <ShortName>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>99930203 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesTables</Role>
      <ShortName>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPolicies</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>99930403 - Disclosure - REVENUE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureRevenueTables</Role>
      <ShortName>REVENUE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureRevenue</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>99930503 - Disclosure - INCOME TAXES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureIncomeTaxesTables</Role>
      <ShortName>INCOME TAXES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureIncomeTaxes</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>99930603 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareTables</Role>
      <ShortName>CAPITAL STOCK and EARNINGS PER SHARE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShare</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>99930703 - Disclosure - STOCK-BASED COMPENSATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureStockBasedCompensationTables</Role>
      <ShortName>STOCK-BASED COMPENSATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureStockBasedCompensation</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>99930803 - Disclosure - CONCENTRATION OF RISK (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables</Role>
      <ShortName>CONCENTRATION OF RISK (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureConcentrationOfRisk</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>99930903 - Disclosure - OTHER CURRENT ASSETS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsTables</Role>
      <ShortName>OTHER CURRENT ASSETS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureOtherCurrentAssets</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>99931003 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetTables</Role>
      <ShortName>PROPERTY, PLANT AND EQUIPMENT, NET (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNet</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>99931103 - Disclosure - ACCRUED EXPENSES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureAccruedExpensesTables</Role>
      <ShortName>ACCRUED EXPENSES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureAccruedExpenses</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>99931203 - Disclosure - DEBT (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureDebtTables</Role>
      <ShortName>DEBT (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureDebt</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>99931403 - Disclosure - LEASES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureLeasesTables</Role>
      <ShortName>LEASES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureLeases</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>99931603 - Disclosure - SEGMENT INFORMATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureSegmentInformationTables</Role>
      <ShortName>SEGMENT INFORMATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureSegmentInformation</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>99940201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails</Role>
      <ShortName>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesTables</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>99940202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES - SG&amp;A, Stock Based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails</Role>
      <ShortName>BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES - SG&amp;A, Stock Based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>99940401 - Disclosure - REVENUE - Disaggregated basis (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails</Role>
      <ShortName>REVENUE - Disaggregated basis (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>99940402 - Disclosure - REVENUE - Net sales from customers (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails</Role>
      <ShortName>REVENUE - Net sales from customers (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>99940403 - Disclosure - REVENUE - Contract assets and contract liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails</Role>
      <ShortName>REVENUE - Contract assets and contract liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>99940404 - Disclosure - REVENUE - Additional information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails</Role>
      <ShortName>REVENUE - Additional information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>99940501 - Disclosure - INCOME TAXES - Income tax provision (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails</Role>
      <ShortName>INCOME TAXES - Income tax provision (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>99940502 - Disclosure - INCOME TAXES - U.S. Federal Statutory Rate To Actual Tax Provision (Benefit) For Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails</Role>
      <ShortName>INCOME TAXES - U.S. Federal Statutory Rate To Actual Tax Provision (Benefit) For Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>99940503 - Disclosure - INCOME TAXES - Deferred Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails</Role>
      <ShortName>INCOME TAXES - Deferred Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>99940504 - Disclosure - INCOME TAXES - Carryforwards and Unrecognized Tax Benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>INCOME TAXES - Carryforwards and Unrecognized Tax Benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>99940601 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE - (EPS) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails</Role>
      <ShortName>CAPITAL STOCK and EARNINGS PER SHARE - (EPS) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>99940602 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails</Role>
      <ShortName>CAPITAL STOCK and EARNINGS PER SHARE - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>99940701 - Disclosure - STOCK-BASED COMPENSATION - Stock option activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails</Role>
      <ShortName>STOCK-BASED COMPENSATION - Stock option activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>99940702 - Disclosure - STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails</Role>
      <ShortName>STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>99940703 - Disclosure - STOCK-BASED COMPENSATION - Additional information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails</Role>
      <ShortName>STOCK-BASED COMPENSATION - Additional information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>99940704 - Disclosure - STOCK-BASED COMPENSATION - Board of directors common stock award (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails</Role>
      <ShortName>STOCK-BASED COMPENSATION - Board of directors common stock award (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>99940801 - Disclosure - CONCENTRATION OF RISK (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails</Role>
      <ShortName>CONCENTRATION OF RISK (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>99940901 - Disclosure - OTHER CURRENT ASSETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails</Role>
      <ShortName>OTHER CURRENT ASSETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>99941001 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails</Role>
      <ShortName>PROPERTY, PLANT AND EQUIPMENT, NET (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetTables</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>99941101 - Disclosure - ACCRUED EXPENSES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails</Role>
      <ShortName>ACCRUED EXPENSES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureAccruedExpensesTables</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>99941201 - Disclosure - DEBT - Long-term Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails</Role>
      <ShortName>DEBT - Long-term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>99941202 - Disclosure - DEBT - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails</Role>
      <ShortName>DEBT - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>99941301 - Disclosure - OTHER NONCURRENT LIABILITY (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails</Role>
      <ShortName>OTHER NONCURRENT LIABILITY (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiability</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>99941401 - Disclosure - LEASES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureLeasesDetails</Role>
      <ShortName>LEASES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureLeasesTables</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>99941402 - Disclosure - LEASES - Other supplemental information of Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails</Role>
      <ShortName>LEASES - Other supplemental information of Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>99941403 - Disclosure - LEASES - Supplemental cash flow information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails</Role>
      <ShortName>LEASES - Supplemental cash flow information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>99941404 - Disclosure - LEASES - Maturities of lease liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails</Role>
      <ShortName>LEASES - Maturities of lease liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>99941501 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureCommitmentsAndContingencies</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>99941601 - Disclosure - SEGMENT INFORMATION - Financial information for segments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails</Role>
      <ShortName>SEGMENT INFORMATION - Financial information for segments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="tpcs-20240331x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>99941701 - Disclosure - SUBSEQUENT EVENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails</Role>
      <ShortName>SUBSEQUENT EVENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tech.pre.com/role/DisclosureSubsequentEvents</ParentRole>
      <Position>69</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>tpcs-20240331.xsd</File>
    <File>tpcs-20240331_cal.xml</File>
    <File>tpcs-20240331_def.xml</File>
    <File>tpcs-20240331_lab.xml</File>
    <File>tpcs-20240331_pre.xml</File>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="tpcs-20240331x10k.htm">tpcs-20240331x10k.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>tpcs-20240331x10k014.jpg</File>
    <File>tpcs-20240331x10k015.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="607">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="37">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>94
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "tpcs-20240331x10k.htm": {
   "nsprefix": "tpcs",
   "nsuri": "http://www.tech.pre.com/20240331",
   "dts": {
    "schema": {
     "local": [
      "tpcs-20240331.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/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/2023/calculation-1.1.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/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "tpcs-20240331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tpcs-20240331_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "tpcs-20240331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tpcs-20240331_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "tpcs-20240331x10k.htm"
     ]
    }
   },
   "keyStandard": 299,
   "keyCustom": 76,
   "axisStandard": 25,
   "axisCustom": 0,
   "memberStandard": 34,
   "memberCustom": 34,
   "hidden": {
    "total": 14,
    "http://fasb.org/us-gaap/2024": 10,
    "http://xbrl.sec.gov/dei/2024": 4
   },
   "contextCount": 187,
   "entityCount": 1,
   "segmentCount": 70,
   "elementCount": 674,
   "unitCount": 7,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 607,
    "http://xbrl.sec.gov/dei/2024": 37,
    "http://xbrl.sec.gov/ecd/2024": 4
   },
   "report": {
    "R1": {
     "role": "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation",
     "longName": "995200090 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets",
     "longName": "995200100 - Statement - CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:InventoryRawMaterialsAndSupplies",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheetsParenthetical",
     "longName": "995200105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw",
      "name": "us-gaap:CommonStockSharesIssued",
      "unitRef": "Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations",
     "longName": "995200200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:Revenues",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity",
     "longName": "995200300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_mb_BWrabQkOpeAQHDt0JJA",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_mb_BWrabQkOpeAQHDt0JJA",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows",
     "longName": "995200400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical",
     "longName": "995200405 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "Duration_7_13_2023_To_7_13_2023_srt_TitleOfIndividualAxis_srt_ChiefFinancialOfficerMember_idobkPO_Kkia9HD26fL6Tw",
      "name": "tpcs:CommonStockPursuantToOptionAwards",
      "unitRef": "Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_7_13_2023_To_7_13_2023_srt_TitleOfIndividualAxis_srt_ChiefFinancialOfficerMember_idobkPO_Kkia9HD26fL6Tw",
      "name": "tpcs:CommonStockPursuantToOptionAwards",
      "unitRef": "Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.tech.pre.com/role/DisclosureDescriptionOfBusiness",
     "longName": "995210101 - Disclosure - DESCRIPTION OF BUSINESS",
     "shortName": "DESCRIPTION OF BUSINESS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPolicies",
     "longName": "995210201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES",
     "shortName": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.tech.pre.com/role/DisclosureAccountingStandardsUpdate",
     "longName": "995210301 - Disclosure - ACCOUNTING STANDARDS UPDATE",
     "shortName": "ACCOUNTING STANDARDS UPDATE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.tech.pre.com/role/DisclosureRevenue",
     "longName": "995210401 - Disclosure - REVENUE",
     "shortName": "REVENUE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.tech.pre.com/role/DisclosureIncomeTaxes",
     "longName": "995210501 - Disclosure - INCOME TAXES",
     "shortName": "INCOME TAXES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShare",
     "longName": "995210601 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE",
     "shortName": "CAPITAL STOCK and EARNINGS PER SHARE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.tech.pre.com/role/DisclosureStockBasedCompensation",
     "longName": "995210701 - Disclosure - STOCK-BASED COMPENSATION",
     "shortName": "STOCK-BASED COMPENSATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.tech.pre.com/role/DisclosureConcentrationOfRisk",
     "longName": "995210801 - Disclosure - CONCENTRATION OF RISK",
     "shortName": "CONCENTRATION OF RISK",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.tech.pre.com/role/DisclosureOtherCurrentAssets",
     "longName": "995210901 - Disclosure - OTHER CURRENT ASSETS",
     "shortName": "OTHER CURRENT ASSETS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:OtherCurrentAssetsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:OtherCurrentAssetsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNet",
     "longName": "995211001 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.tech.pre.com/role/DisclosureAccruedExpenses",
     "longName": "995211101 - Disclosure - ACCRUED EXPENSES",
     "shortName": "ACCRUED EXPENSES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.tech.pre.com/role/DisclosureDebt",
     "longName": "995211201 - Disclosure - DEBT",
     "shortName": "DEBT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiability",
     "longName": "995211301 - Disclosure - OTHER NONCURRENT LIABILITY",
     "shortName": "OTHER NONCURRENT LIABILITY",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:OtherLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:OtherLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.tech.pre.com/role/DisclosureLeases",
     "longName": "995211401 - Disclosure - LEASES",
     "shortName": "LEASES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "tpcs:LeaseOfLesseeDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "tpcs:LeaseOfLesseeDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingencies",
     "longName": "995211501 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.tech.pre.com/role/DisclosureSegmentInformation",
     "longName": "995211601 - Disclosure - SEGMENT INFORMATION",
     "shortName": "SEGMENT INFORMATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.tech.pre.com/role/DisclosureSubsequentEvents",
     "longName": "995211701 - Disclosure - SUBSEQUENT EVENTS",
     "shortName": "SUBSEQUENT EVENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R26": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_3_31_2024_Edx8lG7umEyWFpd0LZSf2g",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ecd:NonRule10b51ArrAdoptedFlag",
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_3_31_2024_Edx8lG7umEyWFpd0LZSf2g",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ecd:NonRule10b51ArrAdoptedFlag",
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies",
     "longName": "99920202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "shortName": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "27",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesTables",
     "longName": "99930203 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "shortName": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "tpcs:ScheduleOfSellingGeneralAndAdministrativeTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "tpcs:ScheduleOfSellingGeneralAndAdministrativeTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.tech.pre.com/role/DisclosureRevenueTables",
     "longName": "99930403 - Disclosure - REVENUE (Tables)",
     "shortName": "REVENUE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.tech.pre.com/role/DisclosureIncomeTaxesTables",
     "longName": "99930503 - Disclosure - INCOME TAXES (Tables)",
     "shortName": "INCOME TAXES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareTables",
     "longName": "99930603 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE (Tables)",
     "shortName": "CAPITAL STOCK and EARNINGS PER SHARE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.tech.pre.com/role/DisclosureStockBasedCompensationTables",
     "longName": "99930703 - Disclosure - STOCK-BASED COMPENSATION (Tables)",
     "shortName": "STOCK-BASED COMPENSATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables",
     "longName": "99930803 - Disclosure - CONCENTRATION OF RISK (Tables)",
     "shortName": "CONCENTRATION OF RISK (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_4DHc1wrauEC45VPNRB37KA",
      "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_4DHc1wrauEC45VPNRB37KA",
      "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsTables",
     "longName": "99930903 - Disclosure - OTHER CURRENT ASSETS (Tables)",
     "shortName": "OTHER CURRENT ASSETS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OtherCurrentAssetsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OtherCurrentAssetsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetTables",
     "longName": "99931003 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.tech.pre.com/role/DisclosureAccruedExpensesTables",
     "longName": "99931103 - Disclosure - ACCRUED EXPENSES (Tables)",
     "shortName": "ACCRUED EXPENSES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.tech.pre.com/role/DisclosureDebtTables",
     "longName": "99931203 - Disclosure - DEBT (Tables)",
     "shortName": "DEBT (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.tech.pre.com/role/DisclosureLeasesTables",
     "longName": "99931403 - Disclosure - LEASES (Tables)",
     "shortName": "LEASES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "tpcs:ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "tpcs:LeaseOfLesseeDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "tpcs:ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "tpcs:LeaseOfLesseeDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.tech.pre.com/role/DisclosureSegmentInformationTables",
     "longName": "99931603 - Disclosure - SEGMENT INFORMATION (Tables)",
     "shortName": "SEGMENT INFORMATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
     "longName": "99940201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)",
     "shortName": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "tpcs:TotalAvailableLiquidity",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "tpcs:RisksAndUncertaintiesPolicyPolicyTextBlock",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails",
     "longName": "99940202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES - SG&A, Stock Based Compensation (Details)",
     "shortName": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES - SG&A, Stock Based Compensation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:LaborAndRelatedExpense",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "tpcs:ScheduleOfSellingGeneralAndAdministrativeTableTextBlock",
       "us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:LaborAndRelatedExpense",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "tpcs:ScheduleOfSellingGeneralAndAdministrativeTableTextBlock",
       "us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails",
     "longName": "99940401 - Disclosure - REVENUE - Disaggregated basis (Details)",
     "shortName": "REVENUE - Disaggregated basis (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails",
     "longName": "99940402 - Disclosure - REVENUE - Net sales from customers (Details)",
     "shortName": "REVENUE - Net sales from customers (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:Revenues",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_0TGJ8IGS30CWlm1TZji57g",
      "name": "us-gaap:Revenues",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails",
     "longName": "99940403 - Disclosure - REVENUE - Contract assets and contract liabilities (Details)",
     "shortName": "REVENUE - Contract assets and contract liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:ContractWithCustomerAssetNetCurrent",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_DeferredRevenueMember_LqoJEvKRgkeRNhPkPBauJQ",
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails",
     "longName": "99940404 - Disclosure - REVENUE - Additional information (Details)",
     "shortName": "REVENUE - Additional information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails",
     "longName": "99940501 - Disclosure - INCOME TAXES - Income tax provision (Details)",
     "shortName": "INCOME TAXES - Income tax provision (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:CurrentStateAndLocalTaxExpenseBenefit",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails",
     "longName": "99940502 - Disclosure - INCOME TAXES - U.S. Federal Statutory Rate To Actual Tax Provision (Benefit) For Income Taxes (Details)",
     "shortName": "INCOME TAXES - U.S. Federal Statutory Rate To Actual Tax Provision (Benefit) For Income Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails",
     "longName": "99940503 - Disclosure - INCOME TAXES - Deferred Taxes (Details)",
     "shortName": "INCOME TAXES - Deferred Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails",
     "longName": "99940504 - Disclosure - INCOME TAXES - Carryforwards and Unrecognized Tax Benefits (Details)",
     "shortName": "INCOME TAXES - Carryforwards and Unrecognized Tax Benefits (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails",
     "longName": "99940601 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE - (EPS) (Details)",
     "shortName": "CAPITAL STOCK and EARNINGS PER SHARE - (EPS) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails",
     "longName": "99940602 - Disclosure - CAPITAL STOCK and EARNINGS PER SHARE - Additional Information (Details)",
     "shortName": "CAPITAL STOCK and EARNINGS PER SHARE - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "As_Of_2_23_2023_fOoRGPoiakKzIRUmcjh2Cw",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_2_23_2023_fOoRGPoiakKzIRUmcjh2Cw",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails",
     "longName": "99940701 - Disclosure - STOCK-BASED COMPENSATION - Stock option activity (Details)",
     "shortName": "STOCK-BASED COMPENSATION - Stock option activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "unitRef": "Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails",
     "longName": "99940702 - Disclosure - STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details)",
     "shortName": "STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions",
      "unitRef": "Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions",
      "unitRef": "Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
     "longName": "99940703 - Disclosure - STOCK-BASED COMPENSATION - Additional information (Details)",
     "shortName": "STOCK-BASED COMPENSATION - Additional information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails",
     "longName": "99940704 - Disclosure - STOCK-BASED COMPENSATION - Board of directors common stock award (Details)",
     "shortName": "STOCK-BASED COMPENSATION - Board of directors common stock award (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "Duration_10_11_2023_To_10_11_2023_us-gaap_AwardTypeAxis_tpcs_ServiceBasedRestrictedStockTwoMember_1YoRNoIz6ki9OoASOoP0Xg",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_10_11_2023_To_10_11_2023_us-gaap_AwardTypeAxis_tpcs_ServiceBasedRestrictedStockTwoMember_1YoRNoIz6ki9OoASOoP0Xg",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
     "longName": "99940801 - Disclosure - CONCENTRATION OF RISK (Details)",
     "shortName": "CONCENTRATION OF RISK (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WtEE3Lfmw0669Jd4tzKldA",
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails",
     "longName": "99940901 - Disclosure - OTHER CURRENT ASSETS (Details)",
     "shortName": "OTHER CURRENT ASSETS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:PrepaidInsurance",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock",
       "us-gaap:OtherCurrentAssetsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:PrepaidInsurance",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock",
       "us-gaap:OtherCurrentAssetsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
     "longName": "99941001 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails",
     "longName": "99941101 - Disclosure - ACCRUED EXPENSES (Details)",
     "shortName": "ACCRUED EXPENSES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails",
     "longName": "99941201 - Disclosure - DEBT - Long-term Debt (Details)",
     "shortName": "DEBT - Long-term Debt (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
     "longName": "99941202 - Disclosure - DEBT - Additional Information (Details)",
     "shortName": "DEBT - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "tpcs:ProceedsFromTermLoan",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "tpcs:DefaultInterestRate",
      "unitRef": "Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails",
     "longName": "99941301 - Disclosure - OTHER NONCURRENT LIABILITY (Details)",
     "shortName": "OTHER NONCURRENT LIABILITY (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:ContractWithCustomerLiabilityNoncurrent",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:OtherLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:ContractWithCustomerLiabilityNoncurrent",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:OtherLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.tech.pre.com/role/DisclosureLeasesDetails",
     "longName": "99941401 - Disclosure - LEASES (Details)",
     "shortName": "LEASES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:FinanceLeaseRightOfUseAsset",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_8_25_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_TqyME9GNOU2TVQyxoAb8xQ",
      "name": "tpcs:OtherLeaseAssetsAndLeaseLiabilities",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "tpcs:LeaseOfLesseeDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails",
     "longName": "99941402 - Disclosure - LEASES - Other supplemental information of Leases (Details)",
     "shortName": "LEASES - Other supplemental information of Leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "tpcs:ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock",
       "tpcs:LeaseOfLesseeDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "tpcs:ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock",
       "tpcs:LeaseOfLesseeDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.tech.pre.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails",
     "longName": "99941403 - Disclosure - LEASES - Supplemental cash flow information (Details)",
     "shortName": "LEASES - Supplemental cash flow information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "tpcs:ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock",
       "tpcs:LeaseOfLesseeDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "tpcs:ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock",
       "tpcs:LeaseOfLesseeDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails",
     "longName": "99941404 - Disclosure - LEASES - Maturities of lease liabilities (Details)",
     "shortName": "LEASES - Maturities of lease liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock",
       "tpcs:LeaseOfLesseeDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock",
       "tpcs:LeaseOfLesseeDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails",
     "longName": "99941501 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details)",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "tpcs:EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "tpcs:EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails",
     "longName": "99941601 - Disclosure - SEGMENT INFORMATION - Financial information for segments (Details)",
     "shortName": "SEGMENT INFORMATION - Financial information for segments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "Unit_Standard_item_oi67NW31uUCizwhUbF89_w",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "Unit_Standard_item_oi67NW31uUCizwhUbF89_w",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails",
     "longName": "99941701 - Disclosure - SUBSEQUENT EVENTS (Details)",
     "shortName": "SUBSEQUENT EVENTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA",
      "name": "tpcs:AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent",
      "unitRef": "Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_29_2024_To_4_29_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_Q-JdCBMx2kWTlx8wtXwsVg",
      "name": "tpcs:StockIssuedDuringPeriodSharesStockTerminationFee",
      "unitRef": "Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tpcs-20240331x10k.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Billing Status, Type [Axis]",
        "documentation": "Information by billing status of receivables."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r69"
     ]
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureAccruedExpenses"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]",
        "verboseLabel": "ACCRUED EXPENSES",
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r51",
      "r56",
      "r880"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "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": [
      "r48",
      "r688"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts Receivable",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r632"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Net, Current",
        "terseLabel": "Accounts receivable, net",
        "verboseLabel": "Accounts receivable",
        "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": [
      "r829"
     ]
    },
    "tpcs_AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails",
      "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accrued breakup fee in connection with termination of acquisition event.",
        "label": "Accrued Breakup Fee Related to Terminated Acquisition Event",
        "terseLabel": "Accrued breakup fee"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities, Current",
        "terseLabel": "Accrued expenses",
        "totalLabel": "Total",
        "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": [
      "r51"
     ]
    },
    "us-gaap_AccruedProfessionalFeesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedProfessionalFeesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Professional Fees, Current",
        "verboseLabel": "Accrued professional fees",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "tpcs_AccruedProjectCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "AccruedProjectCosts",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through project cost.",
        "label": "Accrued Project Costs",
        "verboseLabel": "Accrued project costs"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r742"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid in Capital",
        "terseLabel": "Additional paid in capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r688",
      "r941"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "verboseLabel": "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": [
      "r573",
      "r816",
      "r817",
      "r818",
      "r819",
      "r891",
      "r944"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r755"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r755"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r755"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r755"
     ]
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "verboseLabel": "Adjustments to reconcile net loss to net cash provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_AdjustmentsProgressPaymentsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "AdjustmentsProgressPaymentsReceivableMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to adjustments progress payments receivable.",
        "label": "Adjustments Progress Payments Receivable [Member]",
        "terseLabel": "Progress Payments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation",
        "negatedLabel": "Tax withheld for exercised options",
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "Stock-based compensation",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r43",
      "r369"
     ]
    },
    "tpcs_AdvancesToEmployee": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "AdvancesToEmployee",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of advances paid to employees.",
        "label": "Advances To Employee",
        "terseLabel": "Employee advances"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_AdvisoryAndLegalFeesRelatedToAcquistionTermination": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "AdvisoryAndLegalFeesRelatedToAcquistionTermination",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of advisory and legal fees related to acquisition termination.",
        "label": "Advisory and Legal Fees Related to Acquistion Termination",
        "terseLabel": "Due diligence advisory and legal fees related to acquisition termination"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service.",
        "label": "Aggregate Delinquent and Unpaid Outstanding Amounts for Water, Water Service, Electric Energy and/ or Electric Service",
        "terseLabel": "Aggregate delinquent and unpaid outstanding amounts for water, water service, electric energy and/or electric service"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current liability for aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service.",
        "label": "Aggregate Delinquent and Unpaid Outstanding Amounts for Water, Water Service, Electric Energy and/ or Electric Service, Current",
        "terseLabel": "Current liability"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent liability for aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service.",
        "label": "Aggregate Delinquent and Unpaid Outstanding Amounts for Water, Water Service, Electric Energy and/ or Electric Service, Noncurrent",
        "terseLabel": "Noncurrent liability"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r789"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r713",
      "r724",
      "r734",
      "r767"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r716",
      "r727",
      "r737",
      "r770"
     ]
    },
    "ecd_AggtPnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtPnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Pension Adjustments Service Cost [Member]",
        "terseLabel": "Aggregate Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r755"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r762"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r717",
      "r728",
      "r738",
      "r762",
      "r771",
      "r775",
      "r783"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r781"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allocated Share-based Compensation Expense",
        "terseLabel": "Stock based compensation cost",
        "verboseLabel": "Fair value estimated on grant date",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r401",
      "r409"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r150",
      "r254",
      "r261",
      "r262",
      "r263",
      "r909"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfFinancingCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of Debt Issuance Costs",
        "terseLabel": "Amortization of debt issue costs",
        "documentation": "Amount of amortization expense attributable to debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r331",
      "r811",
      "r896"
     ]
    },
    "tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "AmountIncludedInSumToCalculateMaximumBorrowingBase",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount included in sum total to calculate borrowing base for advancing loans.",
        "label": "Amount Included In Sum To Calculate Maximum Borrowing Base",
        "terseLabel": "Amount included in sum to calculate maximum borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Antidilutive securities excluded from computation of earnings per share amount (in shares)",
        "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": [
      "r208"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities, Name [Domain]",
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]",
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r456"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets",
        "totalLabel": "Total assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r105",
      "r117",
      "r145",
      "r171",
      "r213",
      "r220",
      "r238",
      "r242",
      "r256",
      "r298",
      "r299",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r307",
      "r308",
      "r458",
      "r462",
      "r479",
      "r525",
      "r597",
      "r652",
      "r653",
      "r688",
      "r703",
      "r846",
      "r847",
      "r900"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current",
        "totalLabel": "Total current assets",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r153",
      "r171",
      "r256",
      "r298",
      "r299",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r307",
      "r308",
      "r458",
      "r462",
      "r479",
      "r688",
      "r846",
      "r847",
      "r900"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r707",
      "r708",
      "r720"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorLocation",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r707",
      "r708",
      "r720"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorName",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r707",
      "r708",
      "r720"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r778"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r779"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r774"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r774"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r774"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r774"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r774"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r774"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails",
      "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": [
      "r372",
      "r373",
      "r374",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r777"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r776"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r775"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r775"
     ]
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of Presentation and Consolidation",
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES [Line Items]",
        "verboseLabel": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about basis of presentation and summary of significant accounting policies.",
        "label": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Presentation and Significant Accounting Policies [Text Block]",
        "verboseLabel": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES",
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "tpcs_BerkshireLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "BerkshireLoanMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Berkshire Loan [Member]",
        "verboseLabel": "Berkshire Loan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingAndBuildingImprovementsMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building and Building Improvements [Member]",
        "terseLabel": "Building and improvements",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities."
       }
      }
     },
     "auth_ref": [
      "r91"
     ]
    },
    "tpcs_CapitalExpendituresFromPurchaseOfFixedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "CapitalExpendituresFromPurchaseOfFixedAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of capital expenditures from purchase of fixed assets.",
        "label": "Capital Expenditures From Purchase Of Fixed Assets",
        "terseLabel": "Capital expenditures"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "terseLabel": "Annual capital expenditure",
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r15",
      "r16"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "verboseLabel": "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": [
      "r12",
      "r142",
      "r638"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash and cash equivalents",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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": [
      "r12",
      "r82",
      "r169"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net 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": [
      "r0",
      "r82"
     ]
    },
    "tpcs_CashFlowRatioOfDebtService": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "CashFlowRatioOfDebtService",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash flow ratio of debt service.",
        "label": "Cash Flow Ratio Of Debt Service",
        "terseLabel": "Cash flow ratio of debt service"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_CashFlowToTotalDebtService": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "CashFlowToTotalDebtService",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of cash flow to total debt service.",
        "label": "Cash Flow To Total Debt Service",
        "terseLabel": "Cash flow to total debt service"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r753"
     ]
    },
    "srt_ChiefFinancialOfficerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ChiefFinancialOfficerMember",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Chief Financial Officer [Member]",
        "verboseLabel": "Chief Financial Officer"
       }
      }
     },
     "auth_ref": [
      "r828"
     ]
    },
    "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]",
        "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]",
        "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r748"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ClassOfStockLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Line Items]",
        "verboseLabel": "EARNINGS PER SHARE (EPS)",
        "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": [
      "r147",
      "r148",
      "r149",
      "r215",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r566",
      "r567",
      "r568",
      "r569",
      "r667",
      "r794",
      "r812"
     ]
    },
    "us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Warrant or Right, Number of Securities Called by Warrants or Rights",
        "verboseLabel": "Warrants issued to purchase common stock",
        "documentation": "Number of securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 shares."
       }
      }
     },
     "auth_ref": [
      "r345"
     ]
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r754"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r754"
     ]
    },
    "us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]",
        "terseLabel": "OTHER NONCURRENT LIABILITY",
        "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": [
      "r456"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies",
        "verboseLabel": "Commitments and contingent liabilities (see Note 15)",
        "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": [
      "r57",
      "r109",
      "r527",
      "r584"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "COMMITMENTS AND CONTINGENCIES",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r289",
      "r290",
      "r633",
      "r838",
      "r843"
     ]
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "terseLabel": "Shares reserved",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock Outstanding",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r693",
      "r694",
      "r695",
      "r697",
      "r698",
      "r699",
      "r700",
      "r816",
      "r817",
      "r819",
      "r891",
      "r940",
      "r944"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value (in dollars per share)",
        "verboseLabel": "Common stock, par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "tpcs_CommonStockPursuantToOptionAwards": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "CommonStockPursuantToOptionAwards",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the common stock pursuant to option awards.",
        "label": "Common Stock Pursuant To Option Awards",
        "terseLabel": "Company common stock pursuant to option awards"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized",
        "verboseLabel": "Number of authorized common shares",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r585"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "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": [
      "r62"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding",
        "verboseLabel": "Number of outstanding common shares",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r62",
      "r585",
      "r603",
      "r944",
      "r945"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common stock - par value $.0001 per share, shares authorized: March 31, 2024 - 50,000,000; Shares issued and outstanding: March 31, 2024 - 8,777,432; March 31, 2023 - 8,613,408",
        "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": [
      "r62",
      "r528",
      "r688"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r759"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r758"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r760"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r757"
     ]
    },
    "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Deferred Tax Assets and Liabilities [Abstract]",
        "terseLabel": "Components of deferred income tax assets and liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r21",
      "r44",
      "r45",
      "r248",
      "r632"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r21",
      "r44",
      "r45",
      "r248",
      "r563",
      "r632"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "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": [
      "r20",
      "r21",
      "r44",
      "r45",
      "r248",
      "r632",
      "r801"
     ]
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRisk"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Disclosure [Text Block]",
        "verboseLabel": "CONCENTRATION OF RISK",
        "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": [
      "r86"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables",
      "http://www.tech.pre.com/role/DisclosureRevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Line Items]",
        "terseLabel": "REVENUE",
        "verboseLabel": "CONCENTRATION OF RISK",
        "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": [
      "r632"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration risk percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r21",
      "r44",
      "r45",
      "r248"
     ]
    },
    "us-gaap_ConcentrationRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables",
      "http://www.tech.pre.com/role/DisclosureRevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Table]",
        "documentation": "Disclosure of information about concentration risk. Includes, but is not limited to, percentage of concentration risk and benchmark serving as denominator in calculation of percentage of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r20",
      "r21",
      "r22",
      "r44",
      "r104",
      "r632"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "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": [
      "r20",
      "r21",
      "r44",
      "r45",
      "r248",
      "r632"
     ]
    },
    "srt_ConsolidationItemsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ConsolidationItemsAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "auth_ref": [
      "r115",
      "r173",
      "r213",
      "r222",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r242",
      "r243",
      "r244",
      "r298",
      "r299",
      "r300",
      "r301",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r652",
      "r653",
      "r846",
      "r847"
     ]
    },
    "srt_ConsolidationItemsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ConsolidationItemsDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "auth_ref": [
      "r115",
      "r173",
      "r213",
      "r222",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r242",
      "r243",
      "r244",
      "r298",
      "r299",
      "r300",
      "r301",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r652",
      "r653",
      "r846",
      "r847"
     ]
    },
    "us-gaap_ConstructionInProgressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConstructionInProgressMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Construction in Progress [Member]",
        "verboseLabel": "Construction-in-progress",
        "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service."
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_ContractAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ContractAssetsPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract Assets",
        "label": "Contract Assets [Policy Text Block]",
        "verboseLabel": "Contract Assets"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_ContractEstimatesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ContractEstimatesPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract Estimates",
        "label": "Contract Estimates [Policy Text Block]",
        "verboseLabel": "Contract Estimates"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_ContractLiabilitiesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ContractLiabilitiesPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract Liabilities",
        "label": "Contract Liabilities [Policy Text Block]",
        "verboseLabel": "Contract Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Asset and Liability [Table Text Block]",
        "verboseLabel": "Schedule of contract assets and contract liabilities",
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability."
       }
      }
     },
     "auth_ref": [
      "r850"
     ]
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetNetCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Asset, Net, Current",
        "terseLabel": "Contract assets",
        "verboseLabel": "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": [
      "r348",
      "r350",
      "r361"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "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": [
      "r348",
      "r349",
      "r361"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability, Noncurrent",
        "terseLabel": "Customer payments received recorded as noncurrent liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r348",
      "r349",
      "r361"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "verboseLabel": "Revenue recognized by contract liabilities",
        "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": [
      "r362"
     ]
    },
    "us-gaap_CorporateNonSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CorporateNonSegmentMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Corporate and unallocated [Member]",
        "terseLabel": "Corporate and unallocated",
        "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": [
      "r8",
      "r237",
      "r238",
      "r239",
      "r240",
      "r243",
      "r824"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of sales",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r73",
      "r517"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSoldDepreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfGoodsAndServicesSoldDepreciation",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost, Depreciation",
        "terseLabel": "Depreciation expense",
        "documentation": "Amount of expense for allocation of cost of tangible asset over its useful life directly used in production of good and rendering of service."
       }
      }
     },
     "auth_ref": [
      "r807",
      "r834"
     ]
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Document and Entity Information",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "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": [
      "r297",
      "r844"
     ]
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "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": [
      "r297",
      "r844",
      "r845"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit)",
        "totalLabel": "Total Current",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r438",
      "r815"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Current:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current State and Local Tax Expense (Benefit)",
        "terseLabel": "State",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r803",
      "r815",
      "r890"
     ]
    },
    "tpcs_CustomerAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "CustomerAMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to customer A.",
        "label": "Customer A [Member]",
        "terseLabel": "Customer A"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_CustomerBMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "CustomerBMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to customer B.",
        "label": "Customer B [Member]",
        "terseLabel": "Customer B"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_CustomerCDMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "CustomerCDMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Customer A C D.",
        "label": "Customer A C D [Member]",
        "verboseLabel": "Customers ACD"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_CustomerCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "CustomerCMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to customer C.",
        "label": "Customer C [Member]",
        "terseLabel": "Customer C"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "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": [
      "r87",
      "r248"
     ]
    },
    "tpcs_CustomerDMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "CustomerDMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to customer D.",
        "label": "Customer D [Member]",
        "terseLabel": "Customer D"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_CustomerDepositsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "CustomerDepositsMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to customer deposits.",
        "label": "Customer Deposits [Member]",
        "terseLabel": "Customer Deposits"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_CustomerEMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "CustomerEMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to customer E.",
        "label": "Customer E [Member]",
        "verboseLabel": "Customer E"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_Customers.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "Customers.Member",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to all customers.",
        "label": "Customers [Member]",
        "terseLabel": "Customers"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "DEBT"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "DEBT",
        "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": [
      "r93",
      "r170",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r296",
      "r297",
      "r309",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r325",
      "r332",
      "r333",
      "r335",
      "r488"
     ]
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r50",
      "r51",
      "r106",
      "r108",
      "r173",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r316",
      "r321",
      "r322",
      "r323",
      "r324",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r686",
      "r813",
      "r839",
      "r840",
      "r841",
      "r895",
      "r897"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "terseLabel": "Basis spread on variable rate (as a percent)",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentCarryingAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Gross",
        "terseLabel": "Total debt",
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r108",
      "r336"
     ]
    },
    "tpcs_DebtInstrumentCovenantLeverageRatioYearOne": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DebtInstrumentCovenantLeverageRatioYearOne",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the leverage ratio under the financial covenant in year one.",
        "label": "Debt Instrument Covenant Leverage Ratio Year One",
        "terseLabel": "Debt instrument covenant leverage ratio year one"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_DebtInstrumentCovenantLoanToValueRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DebtInstrumentCovenantLoanToValueRatio",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the loan to value ratio under the financial covenant.",
        "label": "Debt Instrument Covenant Loan To Value Ratio",
        "terseLabel": "Loan-to-Value Ratio"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the trailing period used for determination of loan to value ratio under the terms of the loan covenants.",
        "label": "Debt Instrument Covenant Trailing Period For Measurement Of Loan To Value Ratio",
        "terseLabel": "Debt instrument covenant trailing period for measurement of loan to value ratio"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Face Amount",
        "terseLabel": "Principal amount of debt",
        "documentation": "Face (par) amount of debt instrument at time of issuance."
       }
      }
     },
     "auth_ref": [
      "r310",
      "r488",
      "r489",
      "r663",
      "r664",
      "r686"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Interest rate (as a percent)",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r311"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "DEBT",
        "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": [
      "r173",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r316",
      "r321",
      "r322",
      "r323",
      "r324",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r334",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r686",
      "r813",
      "r895",
      "r897"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Name [Domain]",
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r173",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r316",
      "r321",
      "r322",
      "r323",
      "r324",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r686",
      "r813",
      "r839",
      "r840",
      "r841",
      "r895",
      "r897"
     ]
    },
    "tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of accounts receivable used for determination of the aggregate amount of advances under the revolver loan.",
        "label": "Debt Instrument Percentage Of Accounts Receivable Used For Determination Of Aggregate Amount Of Advances",
        "terseLabel": "Debt instrument percentage of accounts receivable used for determination of aggregate amount of advances"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of Appraised value of equipment for determination of the aggregate amount of advances under the revolver loan.",
        "label": "Debt Instrument Percentage Of Appraised Value Of Equipment For Determination Of Aggregate Amount Of Advances",
        "terseLabel": "Debt Instrument percentage of appraised value Of equipment for determination of aggregate amount of advances"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of eligible raw material inventory used for determination of the aggregate amount of advances under the revolver loan.",
        "label": "Debt Instrument Percentage Of Eligible Raw Material Used For Determination Of Aggregate Amount Of Advances",
        "terseLabel": "Debt instrument percentage of eligible raw material used for determination of aggregate amount of advances"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentPeriodicPayment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentPeriodicPayment",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Periodic Payment",
        "terseLabel": "Monthly payments of principal and interest amount",
        "documentation": "Amount of the required periodic payments including both interest and principal payments."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r47"
     ]
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Long-term Debt Instruments [Table]",
        "documentation": "Disclosure of information about long-term debt instrument or arrangement."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r32",
      "r35",
      "r46",
      "r95",
      "r96",
      "r173",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r316",
      "r321",
      "r322",
      "r323",
      "r324",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r334",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r686",
      "r813",
      "r895",
      "r897"
     ]
    },
    "us-gaap_DebtInstrumentTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentTerm",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Term",
        "terseLabel": "Maturity term",
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentVariableInterestRateTypeExtensibleEnumeration",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]",
        "documentation": "Indicates type of variable interest rate on debt instrument."
       }
      }
     },
     "auth_ref": [
      "r524"
     ]
    },
    "tpcs_DebtIssuanceCostsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DebtIssuanceCostsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of the accounting policy for debt issuance costs.",
        "label": "Debt Issuance Costs, Policy [Policy Text Block]",
        "terseLabel": "Debt Issuance Costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtWeightedAverageInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtWeightedAverageInterestRate",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt, Weighted Average Interest Rate",
        "terseLabel": "Weighted average interest rate (as a percent)",
        "documentation": "Weighted average interest rate of debt outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_DefaultInterestRate": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DefaultInterestRate",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of  default interest rate.",
        "label": "Default Interest Rate",
        "terseLabel": "Default interest rate"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_DefenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DefenseMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Defense.",
        "label": "Defense [Member]",
        "terseLabel": "Defense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "verboseLabel": "Federal",
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r815",
      "r889",
      "r890"
     ]
    },
    "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredFederalStateAndLocalTaxExpenseBenefitAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Federal, State and Local, Tax Expense (Benefit) [Abstract]",
        "verboseLabel": "Deferred:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredFinanceCostsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Issuance Costs, Gross",
        "verboseLabel": "Unamortized closing costs",
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs."
       }
      }
     },
     "auth_ref": [
      "r895",
      "r897"
     ]
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredFinanceCostsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Issuance Costs, Net",
        "verboseLabel": "Less: debt issue costs unamortized",
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs."
       }
      }
     },
     "auth_ref": [
      "r849",
      "r894",
      "r895",
      "r897"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net, Noncurrent",
        "terseLabel": "Deferred income taxes",
        "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": [
      "r415",
      "r416"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred income taxes",
        "totalLabel": "Total Deferred",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r130",
      "r815"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Gross",
        "negatedTotalLabel": "Total deferred tax liabilities",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r59",
      "r107",
      "r430"
     ]
    },
    "tpcs_DeferredRevenueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DeferredRevenueMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to deferred revenue.",
        "label": "Deferred Revenue [Member]",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "verboseLabel": "State",
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r815",
      "r889",
      "r890"
     ]
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Total deferred tax assets",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r431"
     ]
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net",
        "totalLabel": "Deferred taxes, net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r885"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Net deferred tax assets",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r885"
     ]
    },
    "us-gaap_DeferredTaxAssetsNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsNetAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net [Abstract]",
        "terseLabel": "Deferred tax assets:"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_DeferredTaxAssetsOperatingLeases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DeferredTaxAssetsOperatingLeases",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from operating leases.",
        "label": "Deferred Tax Assets, Operating Leases",
        "terseLabel": "Operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Net operating loss carryforward",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Employee Compensation",
        "terseLabel": "Compensation",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from employee compensation."
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost",
        "terseLabel": "Stock based compensation awards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation."
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Other",
        "terseLabel": "Other items not currently deductible",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from reserves and accruals, classified as other."
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails",
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Valuation allowance",
        "terseLabel": "Valuation allowance on deferred tax assets",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r432"
     ]
    },
    "tpcs_DeferredTaxLiabilitiesContractAccountingMethods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DeferredTaxLiabilitiesContractAccountingMethods",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Deferred Tax Liabilities Contract Accounting Methods.",
        "label": "Deferred Tax Liabilities Contract Accounting Methods",
        "negatedTerseLabel": "Contract accounting methods"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesLeasingArrangements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesLeasingArrangements",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Leasing Arrangements",
        "negatedLabel": "Operating leases",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements."
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesNetAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Net [Abstract]",
        "terseLabel": "Deferred tax liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesDeferredTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "negatedLabel": "Depreciation",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "us-gaap_DefinedContributionPlanCostRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedContributionPlanCostRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan, Cost",
        "verboseLabel": "Retirement Benefits",
        "documentation": "Amount of cost for defined contribution plan."
       }
      }
     },
     "auth_ref": [
      "r365"
     ]
    },
    "tpcs_DepositsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "DepositsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current asset related to deposits.",
        "label": "Deposits Current",
        "verboseLabel": "Deposits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation, Depletion and Amortization, Nonproduction",
        "terseLabel": "Depreciation and amortization",
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r29"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r213",
      "r225",
      "r242",
      "r652",
      "r653"
     ]
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "REVENUE",
        "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": [
      "r360",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r360",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Schedule of net sales on a disaggregated basis by market and contract type",
        "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": [
      "r851"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]",
        "terseLabel": "STOCK-BASED COMPENSATION",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r367",
      "r371",
      "r402",
      "r403",
      "r404",
      "r676"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCK-BASED COMPENSATION"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r707",
      "r708",
      "r720"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r707",
      "r708",
      "r720",
      "r763"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": []
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.tech.pre.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": [
      "r741"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": []
    },
    "us-gaap_DomesticCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DomesticCountryMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "U.S. operations",
        "verboseLabel": "Federal",
        "documentation": "Designated federal jurisdiction entitled to levy and collect income tax in country of domicile. Includes, but is not limited to, national jurisdiction for non-U.S. jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r418"
     ]
    },
    "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]",
        "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year"
       }
      }
     },
     "auth_ref": [
      "r752"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CAPITAL STOCK and EARNINGS PER SHARE"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Net loss per share - basic (in dollars per share)",
        "verboseLabel": "Net loss per share",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r183",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r195",
      "r198",
      "r205",
      "r206",
      "r207",
      "r212",
      "r452",
      "r455",
      "r473",
      "r474",
      "r521",
      "r537",
      "r645"
     ]
    },
    "us-gaap_EarningsPerShareBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasicAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic [Abstract]",
        "terseLabel": "Basic EPS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Net loss per share - diluted (in dollars per share)",
        "verboseLabel": "Net loss per share",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r183",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r198",
      "r205",
      "r206",
      "r207",
      "r212",
      "r452",
      "r455",
      "r473",
      "r474",
      "r521",
      "r537",
      "r645"
     ]
    },
    "us-gaap_EarningsPerShareDilutedAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDilutedAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted [Abstract]",
        "terseLabel": "Diluted EPS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Net Loss per Share of Common Stock",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r18",
      "r209"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Text Block]",
        "verboseLabel": "CAPITAL STOCK and EARNINGS PER SHARE",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r208",
      "r210",
      "r211"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "terseLabel": "Effective tax rate",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r418",
      "r678"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate",
        "terseLabel": "Income tax rate",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r418",
      "r441",
      "r678"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Amount",
        "verboseLabel": "Stock-based compensation",
        "documentation": "Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r796",
      "r882",
      "r883"
     ]
    },
    "tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Agreement Annual Commitment For Future Salaries During Next Fiscal Year",
        "terseLabel": "Aggregate commitment for future executive salaries and bonus"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "EmployeeAgreementAnnualCommitmentForVacationAndHoliday",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Agreement Annual Commitment For Vacation And Holiday",
        "terseLabel": "Aggregate commitment for accrued payroll, vacation and holiday"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeBenefitsAndShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeBenefitsAndShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Benefits and Share-Based Compensation",
        "terseLabel": "Compensation cost",
        "documentation": "Amount of expense for employee benefit and equity-based compensation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee-related Liabilities, Current",
        "terseLabel": "Accrued compensation",
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "tpcs_EmployeeRetentionCreditRefund": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "EmployeeRetentionCreditRefund",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of employee retention credit refund.",
        "label": "Employee Retention Credit Refund",
        "terseLabel": "Refundable employee retention tax credits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share-based Compensation, Aggregate Disclosures [Abstract]",
        "terseLabel": "Stock Based Compensation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options",
        "verboseLabel": "Unrecognized compensation cost",
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r879"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails",
      "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": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.tech.pre.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": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r705"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.tech.pre.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_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "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": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r705"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.tech.pre.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": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r705"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.tech.pre.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": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.tech.pre.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": [
      "r792"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r705"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.tech.pre.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": [
      "r705"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r705"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.tech.pre.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": [
      "r705"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "ecd_EqtyAwrdsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Footnote [Text Block]",
        "terseLabel": "Equity Awards Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r746"
     ]
    },
    "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]",
        "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r788"
     ]
    },
    "ecd_EqtyAwrdsAdjsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments [Member]",
        "terseLabel": "Equity Awards Adjustments"
       }
      }
     },
     "auth_ref": [
      "r788"
     ]
    },
    "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r788"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "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": [
      "r5",
      "r135",
      "r157",
      "r158",
      "r159",
      "r174",
      "r175",
      "r176",
      "r180",
      "r187",
      "r189",
      "r191",
      "r214",
      "r257",
      "r260",
      "r277",
      "r346",
      "r439",
      "r440",
      "r447",
      "r448",
      "r449",
      "r453",
      "r454",
      "r455",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r470",
      "r472",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r490",
      "r491",
      "r507",
      "r536",
      "r554",
      "r555",
      "r556",
      "r573",
      "r623"
     ]
    },
    "tpcs_EquityIncentivePlan2016Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "EquityIncentivePlan2016Member",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member stands for Equity Incentive Plan 2016.",
        "label": "Equity Incentive Plan 2016 [Member]",
        "terseLabel": "2016 Plan"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r756"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r713",
      "r724",
      "r734",
      "r767"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r710",
      "r721",
      "r731",
      "r764"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "terseLabel": "Fair Value Measurements",
        "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_FinanceLeaseInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseInterestExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Interest Expense",
        "verboseLabel": "Finance lease interest",
        "documentation": "Amount of interest expense on finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r494",
      "r499",
      "r687"
     ]
    },
    "tpcs_FinanceLeaseLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "FinanceLeaseLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.",
        "label": "Finance Lease Liabilities",
        "terseLabel": "Total"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payment, Due [Abstract]",
        "verboseLabel": "Maturities of lease liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability",
        "terseLabel": "Lease liability - finance leases",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease."
       }
      }
     },
     "auth_ref": [
      "r493",
      "r503"
     ]
    },
    "tpcs_FinanceLeaseLiabilityImputedInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "FinanceLeaseLiabilityImputedInterest",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid as imputed interest following current fiscal year.",
        "label": "Finance Lease Liability Imputed Interest",
        "negatedLabel": "Less: imputed interest"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Fiscal Year Maturity [Table Text Block]",
        "terseLabel": "Schedule of maturities of lease liabilities",
        "documentation": "Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r898"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Noncurrent",
        "verboseLabel": "Long-term lease liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r493"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payment, Due",
        "totalLabel": "Total lease payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease."
       }
      }
     },
     "auth_ref": [
      "r503"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, to be Paid, after Year Five",
        "terseLabel": "Thereafter",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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": [
      "r503"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, to be Paid, Year One",
        "verboseLabel": "2025",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r503"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, to be Paid, Year Five",
        "terseLabel": "2029",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r503"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, to be Paid, Year Four",
        "verboseLabel": "2028",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r503"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, to be Paid, Year Three",
        "verboseLabel": "2027",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r503"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, to be Paid, Year Two",
        "verboseLabel": "2026",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r503"
     ]
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeasePrincipalPayments",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repayments of Long-term Capital Lease Obligations",
        "negatedLabel": "Principal payments for leases",
        "verboseLabel": "Cash used in financing activities",
        "documentation": "Amount of cash outflow for principal payment on finance lease."
       }
      }
     },
     "auth_ref": [
      "r495",
      "r500"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization",
        "terseLabel": "Right of use asset - finance leases",
        "verboseLabel": "Right of use asset, net",
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r492"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseRightOfUseAssetAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Right-of-Use Asset, Accumulated Amortization",
        "negatedLabel": "Amortization",
        "documentation": "Amount of accumulated amortization of right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r798",
      "r802"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Right-of-Use Asset, Amortization",
        "verboseLabel": "Finance lease amortization",
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r494",
      "r499",
      "r687"
     ]
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Lease rate - finance lease",
        "documentation": "Weighted average discount rate for finance lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r502",
      "r687"
     ]
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Lease term (years) - finance lease",
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r501",
      "r687"
     ]
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r717",
      "r728",
      "r738",
      "r771"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r717",
      "r728",
      "r738",
      "r771"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r717",
      "r728",
      "r738",
      "r771"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r717",
      "r728",
      "r738",
      "r771"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r717",
      "r728",
      "r738",
      "r771"
     ]
    },
    "tpcs_FormerChiefFinancialOfficerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "FormerChiefFinancialOfficerMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to former chief financial officer.",
        "label": "Former Chief Financial Officer [Member]",
        "terseLabel": "Former chief financial officer"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]",
        "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year"
       }
      }
     },
     "auth_ref": [
      "r751"
     ]
    },
    "tpcs_GainLossFromContingentConsideration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "GainLossFromContingentConsideration",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Gain (loss) obtained from contingent consideration.",
        "label": "Gain (Loss) from Contingent Consideration",
        "negatedLabel": "Change in fair value for contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnContractTermination": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnContractTermination",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain (Loss) on Contract Termination",
        "negatedLabel": "Change in contract loss provision",
        "documentation": "Gain (loss) related to the termination of a contract between the parties. The termination may be due to many causes including early termination of a lease by a lessee, a breach of contract by one party, or a failure to perform."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain on disposal of equipment",
        "negatedLabel": "Gain on disposal of equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_GranteeStatusAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GranteeStatusAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Grantee Status [Axis]",
        "documentation": "Information by status of recipient to whom award is granted."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r370",
      "r372",
      "r373",
      "r374",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400"
     ]
    },
    "us-gaap_GranteeStatusDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GranteeStatusDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Grantee Status [Domain]",
        "documentation": "Status of recipient to whom award is granted."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r370",
      "r372",
      "r373",
      "r374",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r70",
      "r74",
      "r116",
      "r171",
      "r256",
      "r298",
      "r299",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r307",
      "r308",
      "r479",
      "r647",
      "r652",
      "r821",
      "r823",
      "r825",
      "r826",
      "r827",
      "r846"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r707",
      "r708",
      "r720"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails",
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "terseLabel": "Loss before income taxes",
        "totalLabel": "Loss before income taxes",
        "verboseLabel": "Pre-tax losses",
        "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": [
      "r71",
      "r112",
      "r116",
      "r522",
      "r533",
      "r647",
      "r652",
      "r821",
      "r823",
      "r825",
      "r826",
      "r827"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF OPERATIONS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Axis]",
        "documentation": "Information by location in statement of income where disaggregated amount has been reported."
       }
      }
     },
     "auth_ref": [
      "r278",
      "r285",
      "r286",
      "r476",
      "r477",
      "r478",
      "r551",
      "r553",
      "r608",
      "r636",
      "r681",
      "r911"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Domain]",
        "documentation": "Location in statement of income where disaggregated amount has been reported."
       }
      }
     },
     "auth_ref": [
      "r285",
      "r286",
      "r476",
      "r477",
      "r478",
      "r551",
      "r553",
      "r608",
      "r636",
      "r681",
      "r911"
     ]
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Axis]",
        "documentation": "Information by income tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r168",
      "r418",
      "r419",
      "r427",
      "r435",
      "r678",
      "r886"
     ]
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Domain]",
        "documentation": "Income tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r168",
      "r418",
      "r419",
      "r427",
      "r435",
      "r678",
      "r886"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAXES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "INCOME TAXES",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r411",
      "r418",
      "r424",
      "r425",
      "r426",
      "r428",
      "r434",
      "r442",
      "r444",
      "r445",
      "r446",
      "r571",
      "r678"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails",
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "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": [
      "r118",
      "r131",
      "r190",
      "r191",
      "r213",
      "r228",
      "r242",
      "r417",
      "r418",
      "r443",
      "r538",
      "r678"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Components of the provision for income taxes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income Taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r413",
      "r414",
      "r428",
      "r429",
      "r433",
      "r437",
      "r565"
     ]
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount",
        "verboseLabel": "Change in valuation allowance",
        "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 increase (decrease) in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r423",
      "r678",
      "r882"
     ]
    },
    "us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationChangeInEnactedTaxRate",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Amount",
        "verboseLabel": "Change in state NOLs",
        "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 increase (decrease) in the income tax rates."
       }
      }
     },
     "auth_ref": [
      "r412",
      "r418",
      "r422",
      "r678"
     ]
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount",
        "verboseLabel": "U.S. statutory income tax",
        "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": [
      "r418",
      "r678"
     ]
    },
    "us-gaap_IncomeTaxReconciliationOtherReconcilingItems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationOtherReconcilingItems",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount",
        "verboseLabel": "Other",
        "documentation": "Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying statutory federal (national) tax rate to pretax income (loss) from continuing operation attributable to other reconciling item. Excludes state and local income tax expense (benefit), federal tax expense (benefit), statutory income tax expense (benefit) outside of country of domicile, tax credit, nondeductible expense, deduction, income tax settlement, income tax contingency, and cross-border tax law."
       }
      }
     },
     "auth_ref": [
      "r882",
      "r883"
     ]
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount",
        "verboseLabel": "State income tax, net of federal benefit",
        "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": [
      "r421",
      "r678",
      "r882"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accrued Liabilities",
        "terseLabel": "Accrued expenses",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "tpcs_IncreaseDecreaseInContractLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "IncreaseDecreaseInContractLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in contract liabilities",
        "label": "Increase Decrease in Contract Liabilities",
        "terseLabel": "Contract liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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": [
      "r810"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Work-in-process and raw materials",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherCurrentAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Current Assets",
        "negatedLabel": "Other current assets",
        "documentation": "Amount of increase (decrease) in current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r810"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Operating Liabilities",
        "verboseLabel": "Other noncurrent liabilities",
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r717",
      "r728",
      "r738",
      "r762",
      "r771",
      "r775",
      "r783"
     ]
    },
    "tpcs_IndustrialMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "IndustrialMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to industrial.",
        "label": "Industrial [Member]",
        "terseLabel": "Industrial"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r781"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r709",
      "r787"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r709",
      "r787"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r709",
      "r787"
     ]
    },
    "us-gaap_InterestCostsCapitalized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestCostsCapitalized",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Costs Capitalized",
        "terseLabel": "Capitalized interest",
        "documentation": "Amount of interest capitalized during the period."
       }
      }
     },
     "auth_ref": [
      "r487"
     ]
    },
    "us-gaap_InterestExpenseDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestExpenseDebt",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expense, Debt",
        "terseLabel": "Interest payments",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r329",
      "r337",
      "r665",
      "r666"
     ]
    },
    "us-gaap_InterestExpenseNonoperating": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestExpenseNonoperating",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expense",
        "negatedLabel": "Interest expense",
        "negatedTerseLabel": "Interest expense, net",
        "documentation": "Amount of interest expense classified as nonoperating."
       }
      }
     },
     "auth_ref": [
      "r224",
      "r809"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Paid, Net",
        "verboseLabel": "Cash paid during the year for interest (net of interest capitalized)",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r163",
      "r166",
      "r167"
     ]
    },
    "us-gaap_IntersegmentEliminationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntersegmentEliminationMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intersegment Eliminations [Member]",
        "terseLabel": "Eliminate intersegment revenue",
        "documentation": "Eliminating entries used in operating segment consolidation."
       }
      }
     },
     "auth_ref": [
      "r115",
      "r213",
      "r222",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r242",
      "r243",
      "r652"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r141",
      "r151",
      "r264",
      "r265",
      "r266",
      "r516",
      "r643"
     ]
    },
    "us-gaap_InventoryRawMaterialsAndSupplies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryRawMaterialsAndSupplies",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Raw Materials and Supplies, Gross",
        "terseLabel": "Raw materials",
        "documentation": "Gross amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed."
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryWorkInProcessNetOfReserves",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Work in Process, Net of Reserves",
        "terseLabel": "Work-in-process",
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r642"
     ]
    },
    "us-gaap_LaborAndRelatedExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LaborAndRelatedExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Labor and Related Expense",
        "terseLabel": "Salaries and related expenses",
        "documentation": "Amount of expense for salary, wage, profit sharing; incentive and equity-based compensation; and other employee benefit."
       }
      }
     },
     "auth_ref": [
      "r808"
     ]
    },
    "us-gaap_LandMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LandMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land [Member]",
        "terseLabel": "Land",
        "documentation": "Part of earth's surface not covered by water."
       }
      }
     },
     "auth_ref": [
      "r852"
     ]
    },
    "tpcs_LateChargeFeePercentage": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "LateChargeFeePercentage",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of late fee charged.",
        "label": "Late Charge Fee Percentage",
        "terseLabel": "Late fee (in percent)"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_LeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "LeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease liabilities during the period.",
        "label": "Lease Liability",
        "totalLabel": "Total lease liability"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_LeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "LeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.",
        "label": "Lease Liability Current",
        "terseLabel": "Current portion of long-term lease liability"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_LeaseOfLesseeDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "LeaseOfLesseeDisclosureTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing.",
        "label": "Lease of Lessee Disclosure [Text Block]",
        "terseLabel": "LEASES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r504"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "LEASES"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_LesseeFinanceLeaseMonthlyPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "LesseeFinanceLeaseMonthlyPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monthly payments on finance lease.",
        "label": "Lessee, Finance Lease, Monthly Payments",
        "terseLabel": "Monthly payments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeLeaseDescriptionLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Line Items]",
        "terseLabel": "LEASES",
        "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": [
      "r498",
      "r505"
     ]
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeLeaseDescriptionTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Table]",
        "documentation": "Disclosure of information about lessee's leases."
       }
      }
     },
     "auth_ref": [
      "r498",
      "r505"
     ]
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeLeasesPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Leases [Policy Text Block]",
        "terseLabel": "Leases",
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee."
       }
      }
     },
     "auth_ref": [
      "r497"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities",
        "totalLabel": "Total liabilities",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r50",
      "r51",
      "r52",
      "r55",
      "r56",
      "r57",
      "r60",
      "r171",
      "r256",
      "r298",
      "r299",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r307",
      "r308",
      "r459",
      "r462",
      "r463",
      "r479",
      "r583",
      "r646",
      "r703",
      "r846",
      "r900",
      "r901"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "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": [
      "r68",
      "r110",
      "r530",
      "r688",
      "r814",
      "r831",
      "r893"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current",
        "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": [
      "r52",
      "r140",
      "r171",
      "r256",
      "r298",
      "r299",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r307",
      "r308",
      "r459",
      "r462",
      "r463",
      "r479",
      "r688",
      "r846",
      "r900",
      "r901"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCredit",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Line of Credit",
        "terseLabel": "Amount of total debt outstanding",
        "verboseLabel": "Amount of debt outstanding",
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a 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. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r108",
      "r908"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Maximum principal amount",
        "verboseLabel": "Revolver loan, commitment amount",
        "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": [
      "r49",
      "r54"
     ]
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "terseLabel": "Unused borrowing capacity",
        "verboseLabel": "Undrawn capacity under revolving loan",
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r54",
      "r297"
     ]
    },
    "tpcs_LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of proceeds that are limited in usage for the purpose of due diligence and professional costs.",
        "label": "Line Of Credit, Limitations In Use For Due Diligence And Professional Costs",
        "terseLabel": "Revolving credit, limitations in use of proceeds"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtAndCapitalLeaseObligations",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt and Lease Obligation",
        "verboseLabel": "Total long-term debt, net",
        "documentation": "Amount of long-term debt and lease obligation, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r526"
     ]
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtAndCapitalLeaseObligationsCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt and Lease Obligation, Current",
        "terseLabel": "Current portion of long-term debt, net",
        "verboseLabel": "Less: Current portion of long-term debt",
        "documentation": "Amount of long-term debt and lease obligation, classified as current."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt and Lease Obligation, Including Current Maturities",
        "totalLabel": "Total debt, net",
        "documentation": "Amount of long-term debt and lease obligation, including portion classified as current."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Excluding Current Maturities",
        "terseLabel": "Long-term debt, net",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r146"
     ]
    },
    "us-gaap_LossContingencyAccrualAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LossContingencyAccrualAtCarryingValue",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss Contingency Accrual",
        "terseLabel": "Provision for claims",
        "documentation": "Amount of loss contingency liability."
       }
      }
     },
     "auth_ref": [
      "r291",
      "r795"
     ]
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery And Equipment [Member]",
        "terseLabel": "Machinery and equipment",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_MachineryEquipmentFurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "MachineryEquipmentFurnitureAndFixturesMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents machinery equipment, furniture and fixtures, which are a part of property, plant and equipment.",
        "label": "Machinery Equipment Furniture And Fixtures [Member]",
        "terseLabel": "Machinery equipment, furniture, and fixtures"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r248",
      "r670",
      "r689",
      "r692",
      "r851",
      "r910",
      "r912",
      "r913",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937",
      "r938",
      "r939"
     ]
    },
    "tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum amount of borrowing base required to grant loan advance.",
        "label": "Maximum Amount Of Borrowing Base Required To Grant Loan Advance",
        "terseLabel": "Maximum amount of borrowing base required to grant loan advance"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "auth_ref": [
      "r292",
      "r293",
      "r294",
      "r295",
      "r366",
      "r410",
      "r475",
      "r515",
      "r550",
      "r552",
      "r562",
      "r575",
      "r576",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r634",
      "r635",
      "r657",
      "r667",
      "r675",
      "r682",
      "r683",
      "r684",
      "r685",
      "r690",
      "r848",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r907"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r754"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r754"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "auth_ref": [
      "r292",
      "r293",
      "r294",
      "r295",
      "r366",
      "r410",
      "r475",
      "r515",
      "r550",
      "r552",
      "r562",
      "r575",
      "r576",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r634",
      "r635",
      "r657",
      "r667",
      "r675",
      "r682",
      "r683",
      "r684",
      "r690",
      "r848",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r907"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r774"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r782"
     ]
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r248",
      "r670",
      "r689",
      "r692",
      "r851",
      "r910",
      "r912",
      "r913",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937",
      "r938",
      "r939"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r755"
     ]
    },
    "us-gaap_NatureOfOperations": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NatureOfOperations",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDescriptionOfBusiness"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "DESCRIPTION OF BUSINESS",
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r133"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by (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": [
      "r165"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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": [
      "r165"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by 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": [
      "r82",
      "r83",
      "r84"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income (loss)",
        "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": [
      "r75",
      "r84",
      "r113",
      "r138",
      "r154",
      "r155",
      "r159",
      "r171",
      "r179",
      "r183",
      "r184",
      "r185",
      "r186",
      "r187",
      "r190",
      "r191",
      "r203",
      "r256",
      "r298",
      "r299",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r307",
      "r308",
      "r452",
      "r455",
      "r474",
      "r479",
      "r535",
      "r605",
      "r621",
      "r622",
      "r701",
      "r846"
     ]
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasic",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails",
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesIncomeTaxProvisionDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss) Available to Common Stockholders, Basic",
        "totalLabel": "Net loss",
        "verboseLabel": "Net loss",
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders."
       }
      }
     },
     "auth_ref": [
      "r162",
      "r183",
      "r184",
      "r185",
      "r186",
      "r195",
      "r196",
      "r204",
      "r207",
      "r455"
     ]
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLossAvailableToCommonStockholdersDiluted",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss) Available to Common Stockholders, Diluted",
        "verboseLabel": "Net loss",
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders."
       }
      }
     },
     "auth_ref": [
      "r162",
      "r197",
      "r199",
      "r200",
      "r201",
      "r202",
      "r204",
      "r207"
     ]
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "ACCOUNTING STANDARDS UPDATE"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureAccountingStandardsUpdate"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements and Changes in Accounting Principles [Text Block]",
        "verboseLabel": "ACCOUNTING STANDARDS UPDATE",
        "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r136",
      "r177",
      "r178",
      "r181",
      "r182",
      "r192",
      "r193",
      "r249",
      "r258",
      "r259",
      "r450",
      "r451",
      "r453",
      "r455",
      "r469",
      "r471",
      "r506",
      "r508",
      "r509",
      "r518",
      "r519",
      "r520",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561"
     ]
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r754"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r717",
      "r728",
      "r738",
      "r762",
      "r771"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r745"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r744"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r762"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r782"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r782"
     ]
    },
    "tpcs_NondeductibleItemsRelatedToDissolvedForeignEntity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "NondeductibleItemsRelatedToDissolvedForeignEntity",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesUsFederalStatutoryRateToActualTaxProvisionBenefitForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represent of Nondeductible items related to dissolved foreign entity",
        "label": "Nondeductible items related to dissolved foreign entity",
        "terseLabel": "Nondeductible items related to business combination and dissolved foreign entity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoninterestExpenseTransferAgentAndCustodianFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoninterestExpenseTransferAgentAndCustodianFees",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noninterest Expense Transfer Agent and Custodian Fees",
        "terseLabel": "Placement agent's fees",
        "documentation": "Fees paid to an agent employed by a corporation or mutual fund to maintain shareholder records, including purchases, sales, and account balances. Also includes custodian fees incurred during an accounting period from an agent, bank, trust company, or other organization that holds and safeguards an individual's, mutual fund's, or investment company's assets for them. These fees will be billed back to the client and are a component of noninterest expense."
       }
      }
     },
     "auth_ref": [
      "r111"
     ]
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense)",
        "totalLabel": "Total other (expense) income, net",
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)."
       }
      }
     },
     "auth_ref": [
      "r77"
     ]
    },
    "tpcs_NonrefundableCommitmentFeePercentages": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "NonrefundableCommitmentFeePercentages",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the percentages rate of  nonrefundable commitment fee.",
        "label": "Nonrefundable Commitment Fee percentages",
        "terseLabel": "Nonrefundable commitment fee percentages"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NotesPayableOtherPayablesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NotesPayableOtherPayablesMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes Payable, Other Payables [Member]",
        "terseLabel": "Notes payables",
        "documentation": "A written promise to pay a note to a third party."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of reportable segment",
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements."
       }
      }
     },
     "auth_ref": [
      "r648",
      "r656",
      "r822"
     ]
    },
    "tpcs_NumberOfSeriesOfPreferredStockShares": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "NumberOfSeriesOfPreferredStockShares",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of series of preferred stock, shares of which can be issued by the entity.",
        "label": "Number of Series of Preferred Stock Shares",
        "terseLabel": "Number of series of preferred stock"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_NumberOfSignificantCustomers": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "NumberOfSignificantCustomers",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of significant customers on whom the entity relies, giving rise to concentration of risk.",
        "label": "Number of Significant Customers",
        "terseLabel": "Number of significant customers"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_OneSupplierMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "OneSupplierMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to one supplier.",
        "label": "One Supplier [Member]",
        "terseLabel": "One supplier"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Income (Loss)",
        "totalLabel": "Loss from operations",
        "verboseLabel": "Operating income (loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r647",
      "r821",
      "r823",
      "r825",
      "r826",
      "r827"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability",
        "terseLabel": "Lease liability - operating lease",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r493"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Payments",
        "terseLabel": "Cash used in operating activities",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r496",
      "r500"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Right of use asset - operating lease",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r492"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease Right Of Use Asset Amortization",
        "verboseLabel": "Operating lease amortization",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r811"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Lease rate - operating lease",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r502",
      "r687"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Lease term (years) - operating lease",
        "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": [
      "r501",
      "r687"
     ]
    },
    "tpcs_OperatingLossAndTaxCreditCarryforwardsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "OperatingLossAndTaxCreditCarryforwardsLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Loss and Tax Credit Carryforwards [Line Items]",
        "terseLabel": "Carryforwards of net operating losses and tax credits"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_OperatingLossAndTaxCreditCarryforwardsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "OperatingLossAndTaxCreditCarryforwardsTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting information pertaining to tax authority, amounts, and expiration dates, of net operating loss carryforwards and of tax credit carryforwards available to reduce future taxable income.",
        "label": "Operating Loss and Tax Credit Carryforwards [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Loss Carryforwards",
        "verboseLabel": "Net operating losses",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r436"
     ]
    },
    "us-gaap_OperatingSegmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingSegmentsMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "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": [
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r243",
      "r652",
      "r653"
     ]
    },
    "tpcs_OptionsExercisedAsCashlessNetSettlementTransaction": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "OptionsExercisedAsCashlessNetSettlementTransaction",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the options exercised as cashless net settlement transaction.",
        "label": "Options Exercised As Cashless Net Settlement Transaction",
        "terseLabel": "Options exercised as a cashless net settlement transaction"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "DESCRIPTION OF BUSINESS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails"
     ],
     "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": [
      "r51"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Current",
        "terseLabel": "Other current assets",
        "totalLabel": "Total",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r152",
      "r688"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other noncurrent assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r144"
     ]
    },
    "us-gaap_OtherCurrentAssetsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherCurrentAssetsTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherCurrentAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Current Assets [Text Block]",
        "terseLabel": "OTHER CURRENT ASSETS",
        "documentation": "The entire disclosure for other current assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other General and Administrative Expense",
        "terseLabel": "Other general and administrative",
        "documentation": "Amount of general and administrative expense classified as other."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r943"
     ]
    },
    "tpcs_OtherIncomeAndExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "OtherIncomeAndExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Income and Expense",
        "terseLabel": "Other income (expense), net"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_OtherLeaseAssetsAndLeaseLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "OtherLeaseAssetsAndLeaseLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other lease assets and lease liabilities during the period.",
        "label": "Other Lease Assets and Lease Liabilities",
        "terseLabel": "Other lease assets and liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherLiabilitiesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherLiabilitiesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "OTHER NONCURRENT LIABILITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherLiabilitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherLiabilitiesDisclosureTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiability"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Liabilities Disclosure [Text Block]",
        "terseLabel": "OTHER NONCURRENT LIABILITY",
        "documentation": "The entire disclosure for other liabilities."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r56",
      "r837"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Liabilities, Noncurrent",
        "verboseLabel": "Other noncurrent liability",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r754"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r715",
      "r726",
      "r736",
      "r769"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r718",
      "r729",
      "r739",
      "r772"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r718",
      "r729",
      "r739",
      "r772"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r743"
     ]
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PayablesAndAccrualsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "ACCRUED EXPENSES"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "PaymentArrangementAgreementAnnualLatePaymentChargePercentage",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of annual late payment charge under payment arrangement agreement.",
        "label": "Payment Arrangement Agreement, Annual Late Payment Charge, Percentage",
        "terseLabel": "Late payment charge, annual rate"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "PaymentArrangementAgreementMonthlyInstalmentsPayable",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of monthly installment payable under payment arrangement agreement.",
        "label": "Payment Arrangement Agreement, Monthly Instalments Payable",
        "terseLabel": "Monthly installment payments to be made"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to payment arrangement agreement with Department of Water and Power of the City of Los Angeles.",
        "label": "Payment Arrangement Agreement with Department of Water and Power of the City of Los Angeles [Member]",
        "terseLabel": "Stadco's payment agreement with the LADWP"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsOfLoanCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsOfLoanCosts",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments of Loan Costs",
        "negatedLabel": "Debt issuance costs",
        "documentation": "The cash outflow for loan origination associated cost which is usually collected through escrow."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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": [
      "r80"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r753"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r753"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r745"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r755"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r744"
     ]
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r853",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863",
      "r864",
      "r865",
      "r866",
      "r867",
      "r868",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873",
      "r874",
      "r875",
      "r876",
      "r877",
      "r878"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r853",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863",
      "r864",
      "r865",
      "r866",
      "r867",
      "r868",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873",
      "r874",
      "r875",
      "r876",
      "r877",
      "r878"
     ]
    },
    "ecd_PnsnAdjsPrrSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsPrrSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Prior Service Cost [Member]",
        "terseLabel": "Pension Adjustments Prior Service Cost"
       }
      }
     },
     "auth_ref": [
      "r746"
     ]
    },
    "ecd_PnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Service Cost [Member]",
        "terseLabel": "Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnBnftsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits Adjustments, Footnote [Text Block]",
        "terseLabel": "Pension Benefits Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r745"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r585"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Shares of preferred stock 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": [
      "r61",
      "r585",
      "r603",
      "r944",
      "r945"
     ]
    },
    "tpcs_PrepaidAdvisoryFeesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "PrepaidAdvisoryFeesOther",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current asset related to other advisory fees paid in advance.",
        "label": "Prepaid Advisory Fees, Other",
        "terseLabel": "Prepaid advisory fees, other"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsCurrentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "OTHER CURRENT ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidInsurance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidInsurance",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Insurance",
        "terseLabel": "Prepaid insurance",
        "documentation": "Amount of asset related to consideration paid in advance for insurance that provides economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r639",
      "r658",
      "r832"
     ]
    },
    "tpcs_PrepaidSubscriptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "PrepaidSubscriptions",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to subscriptions paid in advance that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Subscriptions",
        "verboseLabel": "Prepaid subscriptions"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidTaxes",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Taxes",
        "verboseLabel": "Prepaid taxes",
        "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r640",
      "r659",
      "r832"
     ]
    },
    "us-gaap_PrivatePlacementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrivatePlacementMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Private Placement [Member]",
        "terseLabel": "Private placement",
        "documentation": "A private placement is a direct offering of securities to a limited number of sophisticated investors such as insurance companies, pension funds, mezzanine funds, stock funds and trusts."
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_ProceedsFromFixedAssetsInsuranceSettlement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ProceedsFromFixedAssetsInsuranceSettlement",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow for proceeds from fixed assets insurance settlement.",
        "label": "Proceeds From Fixed Assets Insurance Settlement",
        "terseLabel": "Proceeds from fixed assets insurance settlement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Issuance of Common Stock",
        "terseLabel": "Aggregate purchase price",
        "verboseLabel": "Proceeds from sale of common stock",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "verboseLabel": "Proceeds from sale of fixed assets",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r79"
     ]
    },
    "tpcs_ProceedsFromTermLoan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ProceedsFromTermLoan",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow for Proceeds From Term Loan.",
        "label": "Proceeds From Term Loan",
        "terseLabel": "Proceeds from term loan",
        "verboseLabel": "Proceeds from revolver loan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProfessionalFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProfessionalFees",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Professional Fees",
        "terseLabel": "Professional fees",
        "documentation": "A fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or customer."
       }
      }
     },
     "auth_ref": [
      "r652",
      "r701",
      "r942",
      "r943"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "verboseLabel": "Net loss",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r154",
      "r155",
      "r164",
      "r171",
      "r179",
      "r187",
      "r190",
      "r191",
      "r256",
      "r298",
      "r299",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r307",
      "r308",
      "r452",
      "r455",
      "r457",
      "r460",
      "r461",
      "r474",
      "r479",
      "r522",
      "r534",
      "r572",
      "r605",
      "r621",
      "r622",
      "r679",
      "r680",
      "r702",
      "r806",
      "r846"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "PROPERTY, PLANT AND EQUIPMENT, NET"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization",
        "negatedLabel": "Less: accumulated depreciation and amortization",
        "documentation": "Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r798",
      "r802",
      "r836"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization",
        "totalLabel": "Total property, plant and equipment, net",
        "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r802",
      "r833"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization",
        "totalLabel": "Total property, plant, and equipment",
        "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r797",
      "r804",
      "r835"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureLeasesDetails",
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Type [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r504"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "PROPERTY, PLANT AND EQUIPMENT, NET",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r90",
      "r123",
      "r128",
      "r129"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisposals": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentDisposals",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Disposals",
        "terseLabel": "Book value",
        "documentation": "Amount of divestiture of long-lived, physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Gross",
        "verboseLabel": "Property, plant and equipment, Gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r143",
      "r532"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "PROPERTY, PLANT AND EQUIPMENT, NET",
        "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": [
      "r504"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building and Property Lease [Member]",
        "terseLabel": "Building and property lease",
        "documentation": "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": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Net.",
        "terseLabel": "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": [
      "r4",
      "r504",
      "r523",
      "r532",
      "r688"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property, plant and equipment, net",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r123",
      "r128",
      "r531"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table Text Block]",
        "terseLabel": "Schedule of components of property, plant and equipment, net",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureLeasesDetails",
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Type [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r504"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Useful Life",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForLossOnContracts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProvisionForLossOnContracts",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for Loss on Contracts",
        "verboseLabel": "Provision for contract losses",
        "documentation": "Cumulative provision for contract losses not offset against related costs accumulated on the balance sheet."
       }
      }
     },
     "auth_ref": [
      "r347"
     ]
    },
    "us-gaap_PurchaseObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PurchaseObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Obligation",
        "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r743"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r743"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]"
       }
      }
     },
     "auth_ref": [
      "r292",
      "r293",
      "r294",
      "r295",
      "r364",
      "r366",
      "r397",
      "r398",
      "r399",
      "r410",
      "r475",
      "r513",
      "r514",
      "r515",
      "r550",
      "r552",
      "r562",
      "r575",
      "r576",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r634",
      "r635",
      "r657",
      "r667",
      "r675",
      "r682",
      "r683",
      "r684",
      "r685",
      "r690",
      "r695",
      "r842",
      "r848",
      "r892",
      "r903",
      "r904",
      "r905",
      "r906",
      "r907"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Domain]"
       }
      }
     },
     "auth_ref": [
      "r292",
      "r293",
      "r294",
      "r295",
      "r364",
      "r366",
      "r397",
      "r398",
      "r399",
      "r410",
      "r475",
      "r513",
      "r514",
      "r515",
      "r550",
      "r552",
      "r562",
      "r575",
      "r576",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r634",
      "r635",
      "r657",
      "r667",
      "r675",
      "r682",
      "r683",
      "r684",
      "r685",
      "r690",
      "r695",
      "r842",
      "r848",
      "r892",
      "r903",
      "r904",
      "r905",
      "r906",
      "r907"
     ]
    },
    "tpcs_RangeOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "RangeOneMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Range One",
        "label": "Range One [Member]",
        "terseLabel": "Range One"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_RangeTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "RangeTwoMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Range Two",
        "label": "Range Two [Member]",
        "terseLabel": "Range Two"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_RanorIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "RanorIncMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Ranor Inc., a wholly owned subsidiary of the entity.",
        "label": "Ranor Inc [Member]",
        "terseLabel": "Ranor",
        "verboseLabel": "Ranor, Inc."
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "RanorRevolverLoanAt7.69InterestDueAugust2024Member",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member stands for ranor revolver loan, at 6.93% interest, due August 2024.",
        "label": "Ranor Revolver Loan, at 7.69% interest, due August 2024 [Member]",
        "terseLabel": "Ranor Revolver Loan, at 7.69% interest, due August 2024"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "RanorTermLoanAt6.05InterestDueDecember2027Member",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Ranor Term Loan at 6.05% interest, due December 2027.",
        "label": "Ranor Term Loan at 6.05% Interest, Due December 2027 [Member]",
        "terseLabel": "Ranor Term Loan, at 6.05% interest, due December 2027"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_RanorTermLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "RanorTermLoanMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Ranor term loan.",
        "label": "Ranor Term Loan [Member]",
        "terseLabel": "Ranor term loan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReceivablesBillingStatusDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReceivablesBillingStatusDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Receivables Billing Status [Domain]",
        "documentation": "Amounts due from customers (or dealers) within the next year (or operating cycle, if longer) for goods or services that have been delivered or used, but not yet paid."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReceivablesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReceivablesPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Receivables, Policy [Policy Text Block]",
        "terseLabel": "Accounts receivable and allowance for credit losses",
        "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable."
       }
      }
     },
     "auth_ref": [
      "r251",
      "r252",
      "r253",
      "r255",
      "r830"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r710",
      "r721",
      "r731",
      "r764"
     ]
    },
    "us-gaap_RepaymentsOfLinesOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepaymentsOfLinesOfCredit",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repayments of Lines of Credit",
        "negatedLabel": "Repayment of revolver loan",
        "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r813"
     ]
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repayments of Long-term Debt",
        "negatedLabel": "Repayment of long-term debt",
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r569"
     ]
    },
    "tpcs_RequiredMinimumDebtServiceCoverageRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "RequiredMinimumDebtServiceCoverageRatio",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum debt service coverage ratio as required under the debt arrangement.",
        "label": "Required Minimum Debt Service Coverage Ratio",
        "terseLabel": "Required minimum debt service coverage ratio, solely with respect to the fiscal quarter ending December 31, 2022"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r711",
      "r722",
      "r732",
      "r765"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r712",
      "r723",
      "r733",
      "r766"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r719",
      "r730",
      "r740",
      "r773"
     ]
    },
    "us-gaap_RestrictedStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock [Member]",
        "terseLabel": "Restricted Shares",
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings (Accumulated Deficit)",
        "verboseLabel": "Retained earnings (accumulated deficit)",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r97",
      "r529",
      "r557",
      "r561",
      "r570",
      "r586",
      "r688"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "terseLabel": "Retained Earnings (Accumulated Deficit)",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r174",
      "r175",
      "r176",
      "r180",
      "r187",
      "r189",
      "r191",
      "r257",
      "r260",
      "r277",
      "r439",
      "r440",
      "r447",
      "r448",
      "r449",
      "r453",
      "r454",
      "r455",
      "r464",
      "r466",
      "r467",
      "r470",
      "r472",
      "r490",
      "r491",
      "r554",
      "r556",
      "r573",
      "r944"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "REVENUE"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Net sales from external customers",
        "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": [
      "r114",
      "r115",
      "r213",
      "r221",
      "r222",
      "r236",
      "r242",
      "r245",
      "r247",
      "r248",
      "r359",
      "r360",
      "r517"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer, Including Assessed Tax",
        "terseLabel": "Net Sales",
        "documentation": "Amount, including 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": [
      "r114",
      "r115",
      "r213",
      "r221",
      "r222",
      "r236",
      "r242",
      "r245",
      "r247",
      "r248",
      "r359",
      "r360",
      "r517"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Text Block]",
        "verboseLabel": "REVENUE",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r363"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition, Policy [Policy Text Block]",
        "verboseLabel": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r606",
      "r637",
      "r644"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Remaining performance obligation amount",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "RevenueRemainingPerformanceObligationCompletedLessThan50",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not completed 50% of obligations.",
        "label": "Revenue Remaining Performance Obligation Completed Less Than 50",
        "terseLabel": "Revenue remaining performance obligation completed less than 50%"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "terseLabel": "REVENUE",
        "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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "terseLabel": "Remaining performance obligation expected timing of satisfaction 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": [
      "r127"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails"
     ],
     "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": []
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Percentage",
        "terseLabel": "Revenue, remaining performance obligation, percentage",
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Revenues",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues",
        "terseLabel": "Net sales",
        "verboseLabel": "Revenues",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r115",
      "r160",
      "r171",
      "r213",
      "r221",
      "r222",
      "r236",
      "r242",
      "r245",
      "r247",
      "r248",
      "r256",
      "r298",
      "r299",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r307",
      "r308",
      "r479",
      "r522",
      "r652",
      "r846"
     ]
    },
    "tpcs_RevolverLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "RevolverLoanMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to revolver loan taken under revolving credit facility.",
        "label": "Revolver loan [Member]",
        "terseLabel": "Revolver loan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Credit Facility [Member]",
        "verboseLabel": "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": []
    },
    "tpcs_RightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "RightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Right-of-Use Asset",
        "totalLabel": "Right of use asset, net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RisksAndUncertaintiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONCENTRATION OF RISK"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_RisksAndUncertaintiesPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "RisksAndUncertaintiesPolicyPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for defined as risks and uncertainties.",
        "label": "Risks and Uncertainties, Policy [Policy Text Block]",
        "terseLabel": "Risks and Uncertainties"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r782"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r782"
     ]
    },
    "tpcs_SaleOfStockAndWarrantPricePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "SaleOfStockAndWarrantPricePerShare",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share amount received by subsidiary or equity investee for each share of common stock and warrant issued or sold in the stock transaction.",
        "label": "Sale of Stock and Warrant, Price Per Share",
        "terseLabel": "Combined purchase price of share and warrant"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SaleOfStockNameOfTransactionDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock [Domain]",
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales",
        "documentation": "Primary financial statement caption encompassing revenue from sale of goods and services rendered in the normal course of business."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Sales revenue, net",
        "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": [
      "r248",
      "r800"
     ]
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureAccruedExpensesTables"
     ],
     "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": []
    },
    "tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of supplementary cash flow information pertaining to leases.",
        "label": "Schedule Of Cash Flow Information Relating To Leases [Table Text Block]",
        "verboseLabel": "Schedule of supplemental cash flow information"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Table]",
        "documentation": "Disclosure of information about collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r456"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Schedule of components of income tax provision",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r888"
     ]
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDebtTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Debt [Table Text Block]",
        "terseLabel": "Schedule of long-term debt",
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table]",
        "documentation": "Disclosure of information about arrangements that are not equity-based payments, or pension and other postretirement benefits, with individual employees. The arrangements (for example, profit sharing, deferred bonuses or certain split-dollar life insurance arrangements) are generally based on employment contracts between the entity and one or more selected officers or key employees, and which contain a promise by the employer to pay certain amounts at designated future dates, sometimes including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period and the carrying amount as of the balance sheet date of the related liability."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r99"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Schedule of the components of deferred income tax assets and liabilities",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r885"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of reconciliation of the numerators and denominators reflected in the basic and diluted earnings per share computations",
        "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": [
      "r820"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of reconciliation between income taxes computed at the U.S. federal statutory rate to the actual tax expense for income taxes reported in the consolidated statements of operations and comprehensive loss",
        "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": [
      "r420",
      "r678",
      "r882"
     ]
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]",
        "terseLabel": "Schedule of income and loss from continuing operations by location",
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions."
       }
      }
     },
     "auth_ref": [
      "r815"
     ]
    },
    "us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfOtherCurrentAssetsTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsTables"
     ],
     "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": []
    },
    "tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of other supplemental information related to leases.",
        "label": "Schedule Of Other Supplemental Information Related To Leases [Table Text Block]",
        "verboseLabel": "Schedule of other supplemental information regarding our leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r504"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "documentation": "Disclosure of information about profit (loss) and total assets by reportable segment."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r27",
      "r28"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Summary of financial information for 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": [
      "r26",
      "r27",
      "r28"
     ]
    },
    "tpcs_ScheduleOfSellingGeneralAndAdministrativeTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ScheduleOfSellingGeneralAndAdministrativeTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of selling, general, and administrative expenses.",
        "label": "Schedule of Selling General and Administrative [Table Text Block]",
        "terseLabel": "Schedule of selling, general, and administrative expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r370",
      "r372",
      "r373",
      "r374",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement by range of exercise prices."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table Text Block]",
        "verboseLabel": "Summary of information relating to stock options outstanding",
        "documentation": "Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Stock Options, Activity [Table Text Block]",
        "terseLabel": "Summary of information about options granted",
        "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": [
      "r6",
      "r7",
      "r100"
     ]
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfStockByClassTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Stock by Class [Table]",
        "documentation": "Disclosure of information about stock by class. Includes, but is not limited to, common, convertible, and preferred stocks."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r31",
      "r32",
      "r33",
      "r34",
      "r35",
      "r94",
      "r95",
      "r96",
      "r97",
      "r147",
      "r148",
      "r149",
      "r215",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r566",
      "r567",
      "r568",
      "r569",
      "r667",
      "r794",
      "r812"
     ]
    },
    "tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of supplemental balance sheet information related to leases.",
        "label": "Schedule Of Supplemental Balance Sheet Information Related To Leases [Table text block]",
        "terseLabel": "Schedule of right-of-use assets and liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskTables",
      "http://www.tech.pre.com/role/DisclosureRevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]",
        "terseLabel": "Schedule of trade accounts receivable from customers who accounted for more than 10%",
        "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r20",
      "r21",
      "r22",
      "r44",
      "r104"
     ]
    },
    "us-gaap_SecuredDebtMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SecuredDebtMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Secured Debt [Member]",
        "verboseLabel": "Secured Term Loan",
        "documentation": "Collateralized debt obligation backed by, for example, but not limited to, pledge, mortgage or other lien on the entity's assets."
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r704"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r706"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "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": [
      "r114",
      "r115",
      "r116",
      "r117",
      "r213",
      "r217",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r242",
      "r243",
      "r244",
      "r248",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r287",
      "r288",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r649",
      "r652",
      "r653",
      "r661",
      "r691",
      "r910",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937",
      "r938",
      "r939"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SEGMENT INFORMATION."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "SEGMENT INFORMATION",
        "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": [
      "r117",
      "r213",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r232",
      "r234",
      "r235",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r248",
      "r648",
      "r650",
      "r651",
      "r652",
      "r654",
      "r655",
      "r656"
     ]
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEGMENT INFORMATION",
        "verboseLabel": "SEGMENT 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_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general and administrative",
        "totalLabel": "Total Selling, General and Administrative",
        "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": [
      "r76"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpenseAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative Expense [Abstract]",
        "terseLabel": "Selling, General, and Administrative"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative, Expenses [Member[",
        "terseLabel": "Selling, general and administrative expenses",
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpensesPolicyTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative Expenses, Policy [Policy Text Block]",
        "terseLabel": "Selling, general and administrative",
        "documentation": "Disclosure of accounting policy for inclusion of significant items in the selling, general and administrative (or similar) expense report caption."
       }
      }
     },
     "auth_ref": [
      "r881"
     ]
    },
    "tpcs_ServiceBasedRestrictedStockOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ServiceBasedRestrictedStockOneMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to service-based restricted stock one.",
        "label": "Service Based Restricted Stock One [Member]",
        "terseLabel": "Service-based restricted stock one"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_ServiceBasedRestrictedStockTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ServiceBasedRestrictedStockTwoMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to service-based restricted stock two.",
        "label": "Service Based Restricted Stock Two [Member]",
        "terseLabel": "Service-based restricted stock two"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation",
        "terseLabel": "Stock based compensation and restricted stock awards",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Granted a total of shares of restricted stock",
        "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": [
      "r387"
     ]
    },
    "tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares to be vested on each anniversary.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, To Be Vested On Each Anniversary",
        "verboseLabel": "Number of shares will vest on each of the first, second, and third anniversaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "STOCK-BASED COMPENSATION",
        "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": [
      "r368",
      "r370",
      "r372",
      "r373",
      "r374",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized",
        "terseLabel": "Number of shares of common stock",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r677"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant",
        "terseLabel": "Shares available for grant",
        "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": [
      "r37"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number",
        "terseLabel": "Exercisable and vested at the end of the period (in shares)",
        "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": [
      "r378"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "periodEndLabel": "Exercisable and vested at the end of the period (in dollars per share)",
        "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": [
      "r378"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "terseLabel": "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": [
      "r391"
     ]
    },
    "tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount reflects the fair value of the award granted.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grant Date Fair Value",
        "terseLabel": "Fair value of the award"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross",
        "negatedLabel": "Exercised (in shares)",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r380"
     ]
    },
    "tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Based Compensation Arrangement by Share Based Payment Award Options Intrinsic Value [Abstract]",
        "terseLabel": "Aggregate Intrinsic Value"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value",
        "periodEndLabel": "Outstanding value at the end of the period",
        "periodStartLabel": "Outstanding value at the beginning of the period",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Outstanding at the end of the period (in shares)",
        "periodStartLabel": "Outstanding at the beginning of the period (in shares)",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r376",
      "r377"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]",
        "terseLabel": "Number Of Options",
        "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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Outstanding at the end of the period (in dollars per share)",
        "periodStartLabel": "Outstanding at the beginning of the period (in dollars per share)",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r376",
      "r377"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]",
        "terseLabel": "Weighted Average Exercise Price"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "terseLabel": "Vested or expected to vest at the end of the period",
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r392"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "terseLabel": "Vested or expected to vest at the end of the period (in shares)",
        "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r392"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Vested or expected to vest at the end of the period (in dollars per share)",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r392"
     ]
    },
    "tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Based Compensation Arrangement by Share Based Payment Award Options Weighted Average Remaining Contractual Term [Abstract]",
        "terseLabel": "Weighted Average Remaining Contractual Life (in years)"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued to each individual under share-based payment arrangement.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period To Each Individual",
        "terseLabel": "Common stock shares granted to each non-employee director (in shares)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails",
      "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": [
      "r372",
      "r373",
      "r374",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "verboseLabel": "Exercised (in dollars per share)",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r380"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]",
        "terseLabel": "Stock-based Compensation",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r367",
      "r375",
      "r394",
      "r395",
      "r396",
      "r397",
      "r400",
      "r405",
      "r406",
      "r407",
      "r408"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise Price Range [Axis]",
        "documentation": "Information by range of option prices pertaining to options granted."
       }
      }
     },
     "auth_ref": [
      "r40"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Domain]",
        "documentation": "Supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]",
        "terseLabel": "STOCK-BASED COMPENSATION",
        "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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Lower Range Limit",
        "terseLabel": "Exercise Price, Lower Range",
        "documentation": "The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Number of Exercisable Options",
        "terseLabel": "Options Exercisable",
        "documentation": "The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Number of Outstanding Options",
        "terseLabel": "Options Outstanding",
        "documentation": "The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r102"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Upper Range Limit",
        "terseLabel": "Exercise Price, Upper Range",
        "documentation": "The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_ShareBasedPaymentArrangementNonemployeeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedPaymentArrangementNonemployeeMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Nonemployee",
        "terseLabel": "Non-employee director",
        "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor does not exercise nor has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Excludes nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r372",
      "r373",
      "r374",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term",
        "documentation": "Expected term of 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": [
      "r396"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value",
        "terseLabel": "Exercisable and vested at the end of the period",
        "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": [
      "r37"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Exercisable and vested at the end of the period",
        "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": [
      "r37"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Outstanding at the end of the period",
        "verboseLabel": "Maximum contractual term (in years)",
        "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": [
      "r103"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Vested or expected to vest at the end of the period",
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r392"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value",
        "terseLabel": "Fair value of shares expected to vest",
        "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock."
       }
      }
     },
     "auth_ref": [
      "r391"
     ]
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Exercisable Options, Weighted Average Exercise Price",
        "terseLabel": "Options Exercisable, Weighted Average Exercise Price",
        "documentation": "Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding."
       }
      }
     },
     "auth_ref": [
      "r38"
     ]
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Outstanding Options, Weighted Average Exercise Price",
        "terseLabel": "Options Outstanding, Weighted Average Exercise Price",
        "documentation": "The weighted average price as of the balance sheet date at which grantees could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r102"
     ]
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Outstanding Options, Weighted Average Remaining Contractual Term",
        "terseLabel": "Options Outstanding, Weighted Average Remaining Contractual Term",
        "documentation": "Weighted average remaining contractual term of outstanding stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "us-gaap_SharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesIssued",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, Issued",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)",
        "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "tpcs_StadcoAcquisitionLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StadcoAcquisitionLlcMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member stands for Stadco Acquisition, LLC.",
        "label": "Stadco Acquisition Llc [Member]",
        "terseLabel": "Stadco"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StadcoTermLoanAt2.25InterestDueAugust2028Member",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Stadco Term Note at 2.25% interest, due August 2028.",
        "label": "Stadco Term Loan at 2.25% interest, due August 2028 [Member]",
        "terseLabel": "Stadco Term Loan at 2.25% interest, due August 2028"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StadcoTermLoanAt3.79InterestDueAugust2028Member",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Stadco Term Note at 3.79% interest, due August 2028.",
        "label": "Stadco Term Loan at 3.79 Interest, Due August 2028 [Member]",
        "verboseLabel": "Stadco Term Loan at 3.79% interest, due August 2028."
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StadcoTermLoanAt3.79PercentInterestDueAugust2028Member",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Stadco Term Note at 4.71% interest, due August 2028.",
        "label": "Stadco Term Loan at 3.79% Interest, Due August 2028 [Member]",
        "terseLabel": "Stadco Term Loan, at 3.79% interest, due August 2028"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_StadcoTermLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StadcoTermLoanMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represent information pertaining to Stadco term loan",
        "label": "Stadco Term Loan [Member]",
        "terseLabel": "Stadco Term Loan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r115",
      "r116",
      "r117",
      "r137",
      "r213",
      "r217",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r242",
      "r243",
      "r244",
      "r248",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r279",
      "r287",
      "r288",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r649",
      "r652",
      "r653",
      "r661",
      "r691",
      "r910",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937",
      "r938",
      "r939"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r62",
      "r66",
      "r67",
      "r135",
      "r157",
      "r158",
      "r159",
      "r174",
      "r175",
      "r176",
      "r180",
      "r187",
      "r189",
      "r191",
      "r214",
      "r257",
      "r260",
      "r277",
      "r346",
      "r439",
      "r440",
      "r447",
      "r448",
      "r449",
      "r453",
      "r454",
      "r455",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r470",
      "r472",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r490",
      "r491",
      "r507",
      "r536",
      "r554",
      "r555",
      "r556",
      "r573",
      "r623"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "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": [
      "r174",
      "r175",
      "r176",
      "r214",
      "r491",
      "r517",
      "r564",
      "r574",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r585",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r604",
      "r606",
      "r607",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r623",
      "r696"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r174",
      "r175",
      "r176",
      "r214",
      "r250",
      "r491",
      "r517",
      "r564",
      "r574",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r585",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r604",
      "r606",
      "r607",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r623",
      "r696"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r714",
      "r725",
      "r735",
      "r768"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": []
    },
    "tpcs_StockBasedAcquisitionTerminationFeesAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StockBasedAcquisitionTerminationFeesAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesSgStockBasedCompensationDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stock-based acquisition termination fee payable.",
        "label": "Stock Based Acquisition Termination Fees, Amount",
        "terseLabel": "Stock based acquisition termination fee"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_StockBasedExpenseForContingentConsideration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StockBasedExpenseForContingentConsideration",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stock based expense for contingent consideration.",
        "label": "Stock Based Expense for Contingent Consideration",
        "terseLabel": "Stock based expense for contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_StockIssuedDuringPeriodAdditionalSharesStockTerminationFee": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StockIssuedDuringPeriodAdditionalSharesStockTerminationFee",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of additional shares of stock issued during the period pursuant to stock termination fee.",
        "label": "Stock Issued During Period, Additional Shares, Stock Termination Fee",
        "terseLabel": "Stock termination fee - number of additional shares"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_StockIssuedDuringPeriodSharesContingentConsideration": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StockIssuedDuringPeriodSharesContingentConsideration",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued for contingent consideration.",
        "label": "Stock Issued During Period, Shares, Contingent Consideration",
        "verboseLabel": "Stock issued for contingent consideration (in shares)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesIssuedForServices": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesIssuedForServices",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Issued for Services",
        "terseLabel": "Restricted stock award (in shares)",
        "documentation": "Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, New Issues",
        "terseLabel": "Issuance of common stock (in shares)",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r61",
      "r62",
      "r97",
      "r566",
      "r623",
      "r631"
     ]
    },
    "tpcs_StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of capital stock issued (purchased by nonemployee directors) in connection with an nonemployee directors stock ownership plan.",
        "label": "Stock Issued During Period Shares Nonemployee Director Stock Ownership Plan",
        "terseLabel": "Stock award non-employee directors (in shares)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures",
        "terseLabel": "Restricted stock award (in share)",
        "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r61",
      "r62",
      "r97"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationBoardOfDirectorsCommonStockAwardDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "terseLabel": "Stock options exercised (in shares)",
        "verboseLabel": "Aggregate common stock shares granted to non-employee director (in shares)",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r61",
      "r62",
      "r97",
      "r381"
     ]
    },
    "tpcs_StockIssuedDuringPeriodSharesStockTerminationFee": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StockIssuedDuringPeriodSharesStockTerminationFee",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails",
      "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of stock issued during the period pursuant to stock termination fee.",
        "label": "Stock Issued During Period Shares Stock Termination Fee",
        "terseLabel": "Termination fee",
        "verboseLabel": "Stock termination fee - number of shares"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_StockIssuedDuringPeriodValueContingentConsideration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StockIssuedDuringPeriodValueContingentConsideration",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued  for contingent consideration.",
        "label": "Stock Issued During Period, Value, Contingent Consideration",
        "verboseLabel": "Stock issued for contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "duration credit. defi: Aggregate value of stock issued during the period as a result of nonemployee directors stock ownership plan.",
        "label": "Stock Issued During Period Value Nonemployee Directors Stock Ownership Plan",
        "terseLabel": "Stock award non-employee directors"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures",
        "terseLabel": "Restricted stock award",
        "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r97"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Stock award nonemployee directors",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r62",
      "r66",
      "r67",
      "r97"
     ]
    },
    "tpcs_StockIssuedForFinderFee": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StockIssuedForFinderFee",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of stock issued for finder's fee.",
        "label": "Stock Issued For Finder Fee"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_StockSplitFractionalShareRoundUpInShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "StockSplitFractionalShareRoundUpInShares",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares in stock split fractional share round up.",
        "label": "Stock Split Fractional Share Round Up In Shares",
        "verboseLabel": "Stock split fractional share round up (in shares)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total stockholders' equity",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r66",
      "r67",
      "r88",
      "r587",
      "r603",
      "r624",
      "r625",
      "r688",
      "r703",
      "r814",
      "r831",
      "r893",
      "r944"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders' Equity:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteStockSplitConversionRatio1": {
     "xbrltype": "pureItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityNoteStockSplitConversionRatio1",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Note, Stock Split, Conversion Ratio",
        "terseLabel": "Reverse stock split conversion ratio",
        "documentation": "Ratio applied to the conversion of stock split, for example but not limited to, one share converted to two or two shares converted to one."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "us-gaap_SubsequentEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventLineItems",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Line Items]",
        "terseLabel": "SUBSEQUENT EVENTS",
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event."
       }
      }
     },
     "auth_ref": [
      "r486",
      "r511"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Member]",
        "terseLabel": "Subsequent event",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r486",
      "r511"
     ]
    },
    "us-gaap_SubsequentEventTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTable",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Table]",
        "documentation": "Disclosure of information about significant event or transaction occurring between statement of financial position date and date when financial statements were issued."
       }
      }
     },
     "auth_ref": [
      "r486",
      "r511"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r486",
      "r511"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Domain]",
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r486",
      "r511"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SUBSEQUENT EVENTS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureSubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "SUBSEQUENT EVENTS",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r510",
      "r512"
     ]
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsidiarySaleOfStockAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails",
      "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock [Axis]",
        "documentation": "Information by type of sale of the entity's stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "SUPPLEMENTAL DISCLOSURES OF CASH FLOWS INFORMATION"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Supplies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Supplies",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Supplies",
        "verboseLabel": "Supplier advances",
        "documentation": "Amount of consideration paid in advance for supplies that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r641",
      "r660",
      "r832"
     ]
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r761"
     ]
    },
    "us-gaap_TaxPeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxPeriodAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Period [Axis]",
        "documentation": "Information by period subject to enacted tax law."
       }
      }
     },
     "auth_ref": [
      "r884"
     ]
    },
    "us-gaap_TaxPeriodDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxPeriodDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Period [Domain]",
        "documentation": "Identified tax period."
       }
      }
     },
     "auth_ref": [
      "r884"
     ]
    },
    "tpcs_TaxYearsPriorToTwoThousandTwentyOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "TaxYearsPriorToTwoThousandTwentyOneMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureIncomeTaxesCarryforwardsAndUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents tax years prior to two thousand twenty one member.",
        "label": "Tax Years Prior To Two Thousand Twenty One (Member)",
        "terseLabel": "Tax Years Prior to 2021"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Timing of Transfer of Good or Service [Axis]",
        "documentation": "Information by timing of transfer of good or service to customer."
       }
      }
     },
     "auth_ref": [
      "r673",
      "r851"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Timing of Transfer of Good or Service [Domain]",
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time."
       }
      }
     },
     "auth_ref": [
      "r673",
      "r851"
     ]
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r828",
      "r899"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Relationship to Entity [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "tpcs_TotalAvailableLiquidity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "TotalAvailableLiquidity",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of total available liquidity.",
        "label": "Total Available Liquidity",
        "terseLabel": "Total available liquidity"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r753"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r760"
     ]
    },
    "tpcs_TradeReceivablesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.tech.pre.com/20240331",
     "localname": "TradeReceivablesMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureConcentrationOfRiskDetails",
      "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Receivables [Member]",
        "terseLabel": "Trade Receivables"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r781"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r783"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.tech.pre.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_TransferredAtPointInTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TransferredAtPointInTimeMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transferred at Point in Time [Member]",
        "terseLabel": "Point-in-time",
        "documentation": "Contract with customer in which good or service is transferred at point in time."
       }
      }
     },
     "auth_ref": [
      "r673"
     ]
    },
    "us-gaap_TransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TransferredOverTimeMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transferred over Time [Member]",
        "terseLabel": "Over-time",
        "documentation": "Contract with customer in which good or service is transferred over time."
       }
      }
     },
     "auth_ref": [
      "r673"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r784"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r785"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Expiration Date",
        "terseLabel": "Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r785"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r783"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r783"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r786"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r784"
     ]
    },
    "us-gaap_TypeOfArrangementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TypeOfArrangementAxis",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilityDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]",
        "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r456"
     ]
    },
    "us-gaap_UnamortizedDebtIssuanceExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnamortizedDebtIssuanceExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unamortized Debt Issuance Expense",
        "terseLabel": "Unamortized debt issuance expense",
        "documentation": "The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnbilledRevenuesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnbilledRevenuesMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unbilled Revenues [Member]",
        "terseLabel": "Unbilled",
        "documentation": "Unbilled amounts due for services rendered or products shipped. This element is distinct from unbilled contracts receivables because this is based on noncontract transactions."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": [
      "r780"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of Estimates in the Preparation of Financial Statements",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r24",
      "r25",
      "r121",
      "r122",
      "r124",
      "r125"
     ]
    },
    "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]",
        "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "us-gaap_WarrantMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WarrantMember",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warrant [Member]",
        "documentation": "Security that gives the holder the right to purchase shares of stock in accordance with the terms of the instrument, usually upon payment of a specified amount."
       }
      }
     },
     "auth_ref": [
      "r693",
      "r694",
      "r697",
      "r698",
      "r699",
      "r700"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Weighted average number of shares outstanding - diluted (in shares)",
        "verboseLabel": "Weighted average 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": [
      "r197",
      "r207"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://www.tech.pre.com/role/DisclosureCapitalStockAndEarningsPerShareEpsDetails",
      "http://www.tech.pre.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Weighted average number of shares outstanding - basic (in shares)",
        "verboseLabel": "Weighted average shares",
        "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": [
      "r195",
      "r207"
     ]
    },
    "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]",
        "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r747"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "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/2147477401/830-230-45-1"
  },
  "r1": {
   "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"
  },
  "r2": {
   "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"
  },
  "r3": {
   "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"
  },
  "r4": {
   "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"
  },
  "r5": {
   "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"
  },
  "r6": {
   "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"
  },
  "r7": {
   "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"
  },
  "r8": {
   "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"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r10": {
   "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"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r12": {
   "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"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-4"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-5"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r19": {
   "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"
  },
  "r20": {
   "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"
  },
  "r21": {
   "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"
  },
  "r22": {
   "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"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-4"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-8"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9"
  },
  "r26": {
   "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"
  },
  "r27": {
   "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"
  },
  "r28": {
   "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"
  },
  "r29": {
   "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"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481142/505-10-45-2"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-10"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-4"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-5"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-8"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "710",
   "SubTopic": "10",
   "Section": "25",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483070/710-10-25-11"
  },
  "r37": {
   "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"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r42": {
   "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"
  },
  "r43": {
   "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"
  },
  "r44": {
   "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"
  },
  "r45": {
   "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"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r48": {
   "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(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r49": {
   "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(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r50": {
   "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(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r52": {
   "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(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r53": {
   "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(22)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r54": {
   "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(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r55": {
   "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"
  },
  "r56": {
   "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(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r57": {
   "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(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r58": {
   "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(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r59": {
   "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(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r60": {
   "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(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r61": {
   "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"
  },
  "r62": {
   "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"
  },
  "r63": {
   "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(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r64": {
   "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"
  },
  "r65": {
   "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"
  },
  "r66": {
   "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"
  },
  "r67": {
   "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"
  },
  "r68": {
   "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"
  },
  "r69": {
   "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(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r70": {
   "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))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r71": {
   "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"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r73": {
   "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)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r74": {
   "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"
  },
  "r75": {
   "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"
  },
  "r76": {
   "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"
  },
  "r77": {
   "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))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r78": {
   "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"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r80": {
   "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"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r82": {
   "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"
  },
  "r83": {
   "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"
  },
  "r84": {
   "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"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r88": {
   "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"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480581/330-10-S99-2"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/360/tableOfContent"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-7"
  },
  "r97": {
   "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"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SAB Topic 4.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-4"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483043/710-10-30-1"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r103": {
   "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"
  },
  "r104": {
   "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"
  },
  "r105": {
   "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/2147478546/942-210-S99-1"
  },
  "r106": {
   "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(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r109": {
   "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(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r110": {
   "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/2147478546/942-210-S99-1"
  },
  "r111": {
   "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(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r112": {
   "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/2147478524/942-220-S99-1"
  },
  "r113": {
   "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/2147478524/942-220-S99-1"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r118": {
   "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"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482989/270-10-45-6"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-1"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-11"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-12"
  },
  "r126": {
   "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"
  },
  "r127": {
   "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"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-6"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-7"
  },
  "r130": {
   "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"
  },
  "r131": {
   "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"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/250/tableOfContent"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r135": {
   "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"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-7"
  },
  "r137": {
   "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"
  },
  "r138": {
   "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"
  },
  "r139": {
   "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"
  },
  "r140": {
   "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"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r142": {
   "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"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r145": {
   "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"
  },
  "r146": {
   "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(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r150": {
   "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"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r152": {
   "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"
  },
  "r153": {
   "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"
  },
  "r154": {
   "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"
  },
  "r155": {
   "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"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-1"
  },
  "r157": {
   "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"
  },
  "r158": {
   "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"
  },
  "r159": {
   "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"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r161": {
   "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"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 6.B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-5"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17"
  },
  "r164": {
   "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"
  },
  "r165": {
   "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"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r169": {
   "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"
  },
  "r170": {
   "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"
  },
  "r171": {
   "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"
  },
  "r172": {
   "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"
  },
  "r173": {
   "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"
  },
  "r174": {
   "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"
  },
  "r175": {
   "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"
  },
  "r176": {
   "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"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r179": {
   "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"
  },
  "r180": {
   "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"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r183": {
   "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"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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"
  },
  "r186": {
   "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"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r188": {
   "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"
  },
  "r189": {
   "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"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "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"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-6"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r195": {
   "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"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-11"
  },
  "r197": {
   "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"
  },
  "r198": {
   "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"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40"
  },
  "r203": {
   "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"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r205": {
   "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"
  },
  "r206": {
   "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"
  },
  "r207": {
   "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"
  },
  "r208": {
   "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"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r210": {
   "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"
  },
  "r211": {
   "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"
  },
  "r212": {
   "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"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r214": {
   "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"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-1"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/280/tableOfContent"
  },
  "r217": {
   "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"
  },
  "r218": {
   "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"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "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"
  },
  "r225": {
   "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"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "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"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C"
  },
  "r236": {
   "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"
  },
  "r237": {
   "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"
  },
  "r238": {
   "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"
  },
  "r239": {
   "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"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "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"
  },
  "r246": {
   "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"
  },
  "r247": {
   "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"
  },
  "r248": {
   "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"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476173/280-10-65-1"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r254": {
   "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"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481569/310-20-50-1"
  },
  "r256": {
   "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"
  },
  "r257": {
   "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"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r260": {
   "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"
  },
  "r261": {
   "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"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-1"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-4"
  },
  "r267": {
   "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"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r278": {
   "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"
  },
  "r279": {
   "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"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r286": {
   "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"
  },
  "r287": {
   "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"
  },
  "r288": {
   "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"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-1"
  },
  "r292": {
   "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"
  },
  "r293": {
   "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"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r323": {
   "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"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r325": {
   "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"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r332": {
   "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"
  },
  "r333": {
   "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"
  },
  "r334": {
   "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"
  },
  "r335": {
   "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"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-6"
  },
  "r338": {
   "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"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r343": {
   "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"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3"
  },
  "r346": {
   "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"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "605",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481187/605-35-45-2"
  },
  "r348": {
   "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"
  },
  "r349": {
   "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"
  },
  "r350": {
   "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"
  },
  "r351": {
   "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"
  },
  "r352": {
   "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"
  },
  "r353": {
   "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"
  },
  "r354": {
   "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"
  },
  "r355": {
   "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"
  },
  "r356": {
   "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"
  },
  "r357": {
   "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"
  },
  "r358": {
   "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"
  },
  "r359": {
   "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"
  },
  "r360": {
   "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"
  },
  "r361": {
   "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"
  },
  "r362": {
   "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"
  },
  "r363": {
   "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"
  },
  "r364": {
   "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"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480794/715-70-50-1"
  },
  "r366": {
   "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"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r368": {
   "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"
  },
  "r369": {
   "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"
  },
  "r370": {
   "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"
  },
  "r371": {
   "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"
  },
  "r372": {
   "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"
  },
  "r373": {
   "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"
  },
  "r374": {
   "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"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r376": {
   "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"
  },
  "r377": {
   "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"
  },
  "r378": {
   "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"
  },
  "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)",
   "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)(1)(iv)(01)",
   "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)(1)(iv)(02)",
   "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)(1)(iv)(03)",
   "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)(1)(iv)(04)",
   "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)(i)",
   "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)(ii)",
   "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": "(c)(2)(iii)",
   "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": "(c)(2)(iii)(01)",
   "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": "(c)(2)(iii)(02)",
   "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": "(c)(2)(iii)(03)",
   "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": "(d)(1)",
   "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": "(d)(2)",
   "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": "(e)(1)",
   "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": "(e)(2)",
   "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)(1)",
   "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": "(f)(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": "(f)(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": "(f)(2)(ii)",
   "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": "(f)(2)(iii)",
   "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": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r400": {
   "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"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r402": {
   "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"
  },
  "r403": {
   "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"
  },
  "r404": {
   "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"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-15"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-25"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-28"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "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"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C"
  },
  "r426": {
   "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"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r428": {
   "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"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-19"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-20"
  },
  "r434": {
   "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"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-3"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r439": {
   "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"
  },
  "r440": {
   "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"
  },
  "r441": {
   "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.1.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r442": {
   "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"
  },
  "r443": {
   "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"
  },
  "r444": {
   "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"
  },
  "r445": {
   "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/2147477891/740-270-50-1"
  },
  "r446": {
   "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"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "808",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479402/808-10-50-1"
  },
  "r457": {
   "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"
  },
  "r458": {
   "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"
  },
  "r459": {
   "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"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "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"
  },
  "r464": {
   "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"
  },
  "r465": {
   "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"
  },
  "r466": {
   "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"
  },
  "r467": {
   "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"
  },
  "r468": {
   "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"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r470": {
   "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"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r472": {
   "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"
  },
  "r473": {
   "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"
  },
  "r474": {
   "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"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r479": {
   "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"
  },
  "r480": {
   "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"
  },
  "r481": {
   "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"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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"
  },
  "r484": {
   "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"
  },
  "r485": {
   "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"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-2"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483013/835-20-50-1"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r492": {
   "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"
  },
  "r493": {
   "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"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-1"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r501": {
   "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"
  },
  "r502": {
   "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"
  },
  "r503": {
   "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"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-1"
  },
  "r507": {
   "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"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/855/tableOfContent"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r513": {
   "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"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r515": {
   "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"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478411/912-330-50-1"
  },
  "r517": {
   "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"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2"
  },
  "r521": {
   "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/2147478524/942-220-S99-1"
  },
  "r522": {
   "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/2147477314/942-235-S99-1"
  },
  "r523": {
   "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/2147478451/942-360-50-1"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "470",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r525": {
   "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/2147478777/944-210-S99-1"
  },
  "r526": {
   "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)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r527": {
   "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/2147478777/944-210-S99-1"
  },
  "r528": {
   "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/2147478777/944-210-S99-1"
  },
  "r529": {
   "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/2147478777/944-210-S99-1"
  },
  "r530": {
   "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/2147478777/944-210-S99-1"
  },
  "r531": {
   "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)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r532": {
   "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/2147478777/944-210-S99-1"
  },
  "r533": {
   "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/2147477250/944-220-S99-1"
  },
  "r534": {
   "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/2147477250/944-220-S99-1"
  },
  "r535": {
   "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/2147477250/944-220-S99-1"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r537": {
   "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/2147477250/944-220-S99-1"
  },
  "r538": {
   "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/2147477250/944-220-S99-1"
  },
  "r539": {
   "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/2147477965/944-235-S99-1"
  },
  "r540": {
   "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/2147477965/944-235-S99-1"
  },
  "r541": {
   "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/2147477965/944-235-S99-1"
  },
  "r542": {
   "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/2147477965/944-235-S99-1"
  },
  "r543": {
   "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/2147477965/944-235-S99-1"
  },
  "r544": {
   "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/2147477965/944-235-S99-1"
  },
  "r545": {
   "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/2147477965/944-235-S99-1"
  },
  "r546": {
   "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/2147477965/944-235-S99-1"
  },
  "r547": {
   "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/2147477965/944-235-S99-1"
  },
  "r548": {
   "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/2147477965/944-235-S99-1"
  },
  "r549": {
   "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/2147477965/944-235-S99-1"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r552": {
   "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"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9"
  },
  "r554": {
   "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"
  },
  "r555": {
   "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"
  },
  "r556": {
   "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"
  },
  "r557": {
   "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"
  },
  "r558": {
   "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"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r561": {
   "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"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r563": {
   "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/2147477351/944-825-50-1B"
  },
  "r564": {
   "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"
  },
  "r565": {
   "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(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r569": {
   "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"
  },
  "r570": {
   "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"
  },
  "r571": {
   "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"
  },
  "r572": {
   "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/2147478009/946-205-45-3"
  },
  "r573": {
   "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/2147478009/946-205-45-4"
  },
  "r574": {
   "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/2147477796/946-210-45-4"
  },
  "r575": {
   "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/2147478795/946-210-50-6"
  },
  "r576": {
   "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/2147478795/946-210-50-6"
  },
  "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(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/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(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/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(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/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(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/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(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/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(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/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(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/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(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/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(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/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(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/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(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/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(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/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(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r590": {
   "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/2147479170/946-210-S99-1"
  },
  "r591": {
   "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/2147479170/946-210-S99-1"
  },
  "r592": {
   "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/2147479170/946-210-S99-1"
  },
  "r593": {
   "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/2147479170/946-210-S99-1"
  },
  "r594": {
   "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/2147479170/946-210-S99-1"
  },
  "r595": {
   "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/2147479170/946-210-S99-1"
  },
  "r596": {
   "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/2147479170/946-210-S99-1"
  },
  "r597": {
   "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/2147479170/946-210-S99-1"
  },
  "r598": {
   "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/2147479170/946-210-S99-1"
  },
  "r599": {
   "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/2147479170/946-210-S99-1"
  },
  "r600": {
   "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/2147479170/946-210-S99-1"
  },
  "r601": {
   "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/2147479170/946-210-S99-1"
  },
  "r602": {
   "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/2147479170/946-210-S99-2"
  },
  "r603": {
   "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/2147479170/946-210-S99-2"
  },
  "r604": {
   "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/2147479105/946-220-45-3"
  },
  "r605": {
   "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/2147479105/946-220-45-7"
  },
  "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(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/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(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/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(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/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(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r610": {
   "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/2147479134/946-220-S99-1"
  },
  "r611": {
   "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/2147479134/946-220-S99-1"
  },
  "r612": {
   "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/2147479134/946-220-S99-1"
  },
  "r613": {
   "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/2147479134/946-220-S99-1"
  },
  "r614": {
   "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/2147479134/946-220-S99-1"
  },
  "r615": {
   "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/2147479134/946-220-S99-1"
  },
  "r616": {
   "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/2147479134/946-220-S99-1"
  },
  "r617": {
   "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/2147479134/946-220-S99-1"
  },
  "r618": {
   "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/2147479134/946-220-S99-1"
  },
  "r619": {
   "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/2147479134/946-220-S99-1"
  },
  "r620": {
   "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/2147479134/946-220-S99-1"
  },
  "r621": {
   "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/2147479134/946-220-S99-1"
  },
  "r622": {
   "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/2147479134/946-220-S99-3"
  },
  "r623": {
   "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/2147479134/946-220-S99-3"
  },
  "r624": {
   "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/2147479134/946-220-S99-3"
  },
  "r625": {
   "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/2147479134/946-220-S99-3"
  },
  "r626": {
   "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/2147477271/946-320-S99-1"
  },
  "r627": {
   "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/2147477271/946-320-S99-2"
  },
  "r628": {
   "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/2147477271/946-320-S99-3"
  },
  "r629": {
   "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/2147477271/946-320-S99-3"
  },
  "r630": {
   "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/2147477271/946-320-S99-6"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r632": {
   "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/2147478785/954-310-50-2"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1"
  },
  "r634": {
   "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/2147477332/976-310-50-1"
  },
  "r635": {
   "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/2147479230/978-310-50-1"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r638": {
   "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"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r645": {
   "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"
  },
  "r646": {
   "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"
  },
  "r647": {
   "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"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r652": {
   "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"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r657": {
   "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"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482955/340-10-05-5"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482955/340-10-05-5"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482955/340-10-05-5"
  },
  "r661": {
   "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"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r663": {
   "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"
  },
  "r664": {
   "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"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69E"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69F"
  },
  "r667": {
   "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"
  },
  "r668": {
   "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"
  },
  "r669": {
   "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"
  },
  "r670": {
   "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"
  },
  "r671": {
   "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"
  },
  "r672": {
   "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"
  },
  "r673": {
   "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"
  },
  "r674": {
   "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"
  },
  "r675": {
   "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"
  },
  "r676": {
   "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"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r679": {
   "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"
  },
  "r680": {
   "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"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "102",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8"
  },
  "r687": {
   "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"
  },
  "r688": {
   "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"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r690": {
   "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"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r693": {
   "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/2147478795/946-210-50-1"
  },
  "r694": {
   "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/2147478795/946-210-50-6"
  },
  "r695": {
   "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/2147477439/946-210-55-1"
  },
  "r696": {
   "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/2147477802/946-310-45-1"
  },
  "r697": {
   "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/2147477271/946-320-S99-1"
  },
  "r698": {
   "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/2147477271/946-320-S99-2"
  },
  "r699": {
   "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/2147477271/946-320-S99-3"
  },
  "r700": {
   "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/2147477271/946-320-S99-6"
  },
  "r701": {
   "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/2147479168/946-830-55-10"
  },
  "r702": {
   "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/2147479168/946-830-55-11"
  },
  "r703": {
   "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/2147479168/946-830-55-12"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r741": {
   "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"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "i"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iii"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iv"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "v"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "vi"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r766": {
   "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"
  },
  "r767": {
   "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"
  },
  "r768": {
   "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"
  },
  "r769": {
   "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"
  },
  "r770": {
   "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"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r776": {
   "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"
  },
  "r777": {
   "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"
  },
  "r778": {
   "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"
  },
  "r779": {
   "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"
  },
  "r780": {
   "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"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Number": "229",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "A",
   "Number": "229"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Number": "229"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "i",
   "Number": "229"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-3"
  },
  "r795": {
   "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"
  },
  "r796": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "SubTopic": "740",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479176/718-740-35-2"
  },
  "r797": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r798": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4"
  },
  "r799": {
   "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"
  },
  "r800": {
   "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"
  },
  "r801": {
   "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/2147477351/944-825-50-1B"
  },
  "r802": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r803": {
   "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"
  },
  "r804": {
   "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(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r805": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r806": {
   "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"
  },
  "r807": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r808": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r809": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r810": {
   "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"
  },
  "r811": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r812": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r813": {
   "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"
  },
  "r814": {
   "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"
  },
  "r815": {
   "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"
  },
  "r816": {
   "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"
  },
  "r817": {
   "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"
  },
  "r818": {
   "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"
  },
  "r819": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r820": {
   "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"
  },
  "r821": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r822": {
   "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"
  },
  "r823": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r824": {
   "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"
  },
  "r825": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r826": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r827": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r828": {
   "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"
  },
  "r829": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r830": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r831": {
   "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"
  },
  "r832": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483032/340-10-45-1"
  },
  "r833": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r834": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r835": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r836": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r837": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405/tableOfContent"
  },
  "r838": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405-30/tableOfContent"
  },
  "r839": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r840": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r841": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r842": {
   "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"
  },
  "r843": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r844": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r845": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r846": {
   "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"
  },
  "r847": {
   "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"
  },
  "r848": {
   "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"
  },
  "r849": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r850": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r851": {
   "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"
  },
  "r852": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r853": {
   "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"
  },
  "r854": {
   "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"
  },
  "r855": {
   "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"
  },
  "r856": {
   "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"
  },
  "r857": {
   "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"
  },
  "r858": {
   "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"
  },
  "r859": {
   "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"
  },
  "r860": {
   "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"
  },
  "r861": {
   "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"
  },
  "r862": {
   "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"
  },
  "r863": {
   "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"
  },
  "r864": {
   "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"
  },
  "r865": {
   "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"
  },
  "r866": {
   "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"
  },
  "r867": {
   "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"
  },
  "r868": {
   "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"
  },
  "r869": {
   "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"
  },
  "r870": {
   "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"
  },
  "r871": {
   "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"
  },
  "r872": {
   "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"
  },
  "r873": {
   "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"
  },
  "r874": {
   "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"
  },
  "r875": {
   "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"
  },
  "r876": {
   "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"
  },
  "r877": {
   "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"
  },
  "r878": {
   "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"
  },
  "r879": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r880": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "720",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483384/720-30-45-1"
  },
  "r881": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483406/720-35-50-1"
  },
  "r882": {
   "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"
  },
  "r883": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r884": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r885": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r886": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-3"
  },
  "r887": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-6"
  },
  "r888": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r889": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r890": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r891": {
   "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"
  },
  "r892": {
   "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"
  },
  "r893": {
   "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"
  },
  "r894": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-1A"
  },
  "r895": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r896": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-3"
  },
  "r897": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r898": {
   "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"
  },
  "r899": {
   "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"
  },
  "r900": {
   "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"
  },
  "r901": {
   "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"
  },
  "r902": {
   "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"
  },
  "r903": {
   "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"
  },
  "r904": {
   "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"
  },
  "r905": {
   "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"
  },
  "r906": {
   "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"
  },
  "r907": {
   "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"
  },
  "r908": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r909": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r910": {
   "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"
  },
  "r911": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r912": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r913": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r914": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C"
  },
  "r915": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r916": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r917": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r918": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r919": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r920": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r921": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r922": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r923": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r924": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r925": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r926": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r927": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r928": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r929": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r930": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r931": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r932": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r933": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r934": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r935": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r936": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r937": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r938": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r939": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r940": {
   "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/2147478009/946-205-45-4"
  },
  "r941": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r942": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3"
  },
  "r943": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r944": {
   "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/2147479134/946-220-S99-3"
  },
  "r945": {
   "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/2147479134/946-220-S99-3"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>95
<FILENAME>0001410578-24-001590-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001410578-24-001590-xbrl.zip
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
M'T288QW*91WM4J86A)TV J%RD8P-%9@TXII?,3YI, <,8SXF;+H"/U_?9 E
M\8HJP-\G[:Y>9SR8=>[\HR6)L-Z9#,%\GFIC?:)-OW0FJ 3>Z./I#PW$RE3]
MM"Q!^>MH@W_RD2?PX@;>Q>MN]6?"3,K)F%&39(!_BB958O$A:<9)<6B!RZ7W
MP<N^QT"J[V^U@IQ#U^]<<_>]:_.M1H+^M0T.H!&82@)39ONOT():'!*F7HXX
M-.;!"9'ONK#1CA9]"INL<!F'LG6PVCNX!Y<2@J*-J>4A82;DR(/L%>-15M@O
MN +8L<:EXC"PZT8\RI^G9ED'V90J8']*,0?23U0;M'+1PBR6E.280ZBRR%0Q
MX)3#T+[>G>4DTC0X9>)49G-5TJN12UA6 7*1;7/0;)OE<GB'H/+\[-SP(&N;
ME\F;0Z["[SHKGW<(>C)(Z;T;=+J#N\'LCP8\Y::V7E,A@^G!821X#<3)B3 5
MJ*&",.7"#5@L]X.9'W''^!%L>A@PTH=-M*B(Y4J6"$A$:]U2QP!,8AKRUF4!
M81:VE=M1(9YRRC'5/R/<VF!X.YK<AZ;JKK^8YP)_:3SHLA$&E3!X<T[^](!9
M_3$/ZPPR%90?4J!\Z$[U?ST@FGA$W5RFR,(H>-4I_#^>'(+Z%-O(X@I@*D*I
M3'*ZO)%/1H1O247^E(>*LL&HJ=. 5>J=B*+Y:CF5E!"V\_/4XB](--EI!5T.
M;C*Z\9WSKL>I0WB*GY%&I,"K?9ER]Z6O3WN3P3CTWKL/T\%0GS:/#9PL%>H$
M.5!J8$^9_=1 GW4I+8 E?-B(/VQ0@Z;<2\L@5,*8XCU& )K. +W.I#_5'L:H
M8!N@\E(B,M(>U"!DYYHU$ZY*7,A)15!/O.*EBV;VJV0)E,P-4*-4,26@0:]$
M5*]8N$Z-59HWG!&(:_ I&E8K$$]3(U,TDM; 4O!E#O63'&I0"C[&T6!2^@F.
M,F]O*'&J]NI&@UJ1MS84CVRHL2GPO$:#1&:L.2V>K)[SC'!_,\^E(L)%0\%J
M/$H%@1N4<EY22'\F08U Y@L6S6R7#;27B+"K<2D;6V_@*AA15\?*U> 4"X,W
MD!2*:ZL"VFHXBH2R&S!.%:8Y8;BF6-CFYNJTKSR_";MM JLG$XKT%RFJ-Y0O
M$-<@$(F+%$<(1/.J1<&H13K,20(5?*H'>!M$CHED9#P/4ZB2"KGW*4_%%+GG
MV"!:(;J1#F0NK0J_,C?0&LQ*'JVGXY5)I\+J)HE5^I/7#4Y5C]O3$2M00X%=
M^S*)79'WKALD2QS!IX.73J3"JYW$*_G8=8..ZE@^'9)(B0J'%,->7NMJYK[
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
M;M4]>ZK6B9-,9B9S=_:4),M9U2J25U)FSGR:HDE(PH8B- !I6_OK+P!2$A\
M"#X!9UV[E9&E!M O-(#N1N,O__VT]P</ !.(@I]?O7U]_6H  A=Y,-C^_"H*
M-U<_OOKOO_ZO__C+_[ZZ^I_1<C;PD!OM01 .7 R<$'B#1QCN!FMT.#C!X#/
M&/K^8(2AMP6#P=OKUS^\OG[]=G!U]5?>Q<@AM D*!KRO=Z_?GGX8)[VAX*?!
MQS=OW[]Y=_WNN\&//WWX^-.'[P9WGT]PGREF&U@&Z,/@ZT_LGWLZWH!2&)"?
MG@C\^=4N# \_O7GS^/CX^O']:X2WM/GUVS?_\WFV<G=@[US!@(1.X()7 PK_
M$^%?SI#KA)P]J>9/]]@_=?#^S7DL*03[Z^H$=L6^NGK[[NK]V]=/Q'L5HZC1
M_ZL3,?17+SPW2 -_>!/_> 9E;464O_WX\>,;_NL)M !9C@14P)]Y^=?_& QB
MF6#D@R78#/BP/X7' _CY%8'[@\\ZY=_M,-C\_"H\N.2*2?;Z?<RB_[,*J7XP
MQ1NC@" ?>DQ=SE^2Q685(O?K#OD>U>7)'Q$,CZ\&;+@ORVD&QQ"XN]<'#%Z[
M:/^& ;RIU?6;7H@:.V1WZZ-'<N=@^LT.A-!U_-8(DW7?"G$WD+@^(A&F[1]
M$(&U<^\#HHN\M'G+R%'>N)1VS*?X8K.$Y&M=1!5=M8PTM:.0RN\. T('Y.,-
M V\%MP&UCJX3A$/715$04BM^1P7O0D!N0.A OP953<8R3_9JRV<O7WC&:'\
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
M[FR78D(WPH-+N,"OW[]_RX7.OE&J,'N4@'Z3!"HAY8IH"U*_F_Y%6LM35I]
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
M+#9]YKY/#0JM\8$./0_& T^##<+[>N7NZ?_D3L_+$ -X&<.HBS,A_OP4[!W
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
M::]M0AUZ]=;+R+91E T.H_'.Y[1//ZMRZ_:E=+C^U:E_#WTGC+-,(4\O6XU
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
M4*E48X6K2[4EM6?].EYL9$F4*G=2F7)FJC[\US^"S$\ER61^@FI?Q-VZIP2
M !, 01($_O5_OQT\\D+#R W\?_OFXX?OOR'4WP1;U]__VS>G>'?U+]_\[W__
MO_['O_[/JZO_O'Z\(]M@<SI0/R:;D#HQW9)7-WXFZ^!X='SRB8:AZWGD.G2W
M>TK(Q^\__/'#]Q\^DJNK?^<DKIV(H00^X;1^]^%C^L,LH1;X/Y$?O_OXPW>_
M^_YWOR?_\M,??OSI#[\G#Y]2N$^,LYU;!^BY_J\_P?]Y8N,1)J$?_?06N?_V
MS7,<'W_Z[KO7U]</KS]\",(]0__^XW?_^>ENM7FF!^?*]:/8\3?T&\+@?XKX
M'^^"C1/SZ2F@OSV%7DK@A^^RL900\%]7*=@5_.GJX^^N?OCXX2W:?B-8-*#_
M32H,_$$FSL<??_SQ._YK"EJ!K*',?MW&&4(1^ _?B1^_^??_08B8XS#PZ"/=
M$3[B3_'[D?[;-Y%[.'I C__M.:0[^?!>&'X'^-_Y= _?'B;E1YB4C_\,D_)_
M)W^^<YZH]PT!R,^/"Z4D/Y9H)4C?C<KIFED1;<5N$7-DGH/8\=KQ7, L\.S!
M7^[8OTI<T[>8^ENZ3?D&0AJEY.-P)0;"&>E@4R+J@5T&874NHE1Q([KYL ]>
MOMM2E_L)^,<5_(-/ ?N/_YH%S/=-GZ(X=#9Q2HG+\&_?2'[_KL0/@$W#,E-.
MN$G)L'_6R)E ?+<)F,LYQE>>F$Z!O@N#@Y2)9+A \N-_>4^>C,L2BR&-@E.X
MH8T^1I$SU?R(T9D?81"P?%#_ZO/JFW^_29<,Q]^2N1^[\3M9^+L@/'"W^J_?
MY42'_MPI*VM&42)-^6><CRUC,?W6Q=]&_]35P=5?&F PONO4]T^.]TB/02BS
M9CD8[G>6L7S^O8LP:-^]RH3Z^PM8(H!1##QT_,@%]U*K#%509,-7L%YQ F=P
M> Y!RHC&.63PB KR0$,WV,[][0T+9C3"G<'AJH:4Z7.]* &A*86$"[5&"& 6
M&VP)@(^I#R(>>:1[%V(8/[YW#C)UD(/A:(..Y5099#"CZX*:B8HJ)&%A#DL
M>'Q%N'4]>G\Z/-%0*4\1!%,!JJR6/W[^.]*'/V= ]=$!C@C \3_XPM\$(5N$
M^%9D%3/O,PM.?AR^SX*MVA'48&&JA9% 94W1HB ICP%/*GTJH4X(1R9!2!("
M!"B,KVAKYVVQ98N=NW/%<6*-FU'"8RI7C1!EM5( (RF4EAN5*C$D4L9"<U33
M[99-2I3\SYWKTX]*6:6PF'JC8;ZL,Q) )'U1<J+2E01RDOZ#  Y9^@B^)N%@
MQOZY#-?!JU\G91'2 CVI,B[5DAP,5T?.^:C5$$" %0E0T+2#KXO+\"$,7EQ_
MHXYU5. 6Z(E"!*FRG,'B:HR4F5JUR2*9% ]-=QZ"*':\_]<]:J-D.; %>B-E
M7ZHU)4A<G9&P4JLQ H<PI-&C7O!QTY Z"@TI_XQTKR9A,;M6*_PV_JU:9?#*
ME^9+",",_F$A'<)[> Y\]4%)%03G ZM833_R^>^C?V@Y Y6/S<$(AT/8?ZSH
MYA0R=?OXNZ>U&WLR:ZZ"X'QP%:OI!S__??0/+F>@\L'Y;R38D8^_^_;IMR3%
M&O.KKT,'DL!6[X>G0";)V>\XWUO*9/JQ2S^._J4EHU<_LX A @C#IN=OFV?&
M$55<>\C!<&U;QO*Y?1=AT&R\RD1% 5)0DL(B77O,3F%(_5A<QX+6LIW&*5)&
MI"IPS-!>+T(YN)?#(H7W.F94 7Z"0S(D(K P[D]B"KE?[@N]<6(G84QSK"\'
MQ[TQT8EP?E4B@T6[(U$SH[X<R7#@KMU)50GGJC6<.3'=!^&[]A*Q (5]X5IA
MN'KGFH$@7KN>\:"[>0U)"CN^"JP.CN==GR+7IY%ZM3F#PE0!*<-E%2B!(*F
MA >5"G!0DL*.KP+S PWW; '[.0Q>X^=9<#@ZOMH;** Q54(K0%DUI*!(*J+A
M1:4J*0H1."1!0G ;S]3SZE2E#(3J-"3LGOF, @26RZBPH/08 (GW\=G !\@(
M"3:_KIX=-A'+4PQOMF CK8ZQM4BHVQ8#<<XV+QH,K"U,+4O*C0S')!QU0@0R
M*6 CZ!<+AD/'6_A;^O9GJO8O%3A4+9(S?:8X92 L79%QH50/ 4PX-&'@H]Y@
MB9W1K1MM'.^OU G5V>)J4*2;K1K6LULN!=SX-UY:1JJW7\GYAX G@("2/9YF
ML.=\W[*_R+8R2DC<%P4*QL_?%)R!H;TJD/*A?E=05 ^.@*<;XHF#F7:48&W0
M#PGS<@TI "+K2(636BU)'J&,KB=3QL26,^XYL@CV['<<?9 RF>I Z<?1O[MD
M],JWSF ( (T?5/["MDQ_]H-7?T6=*/#I=A%%)TWRMQ(>,\BL$:(<;"J D8).
M+3>JX!.0KGX%+)*B$8$WO@+])?!.?NR$XG17?59:@<-4& 73944Y T)2$"D7
M*L7(@,4!.L*IZ</IR7,WMU[@J*_:2C"8:B!AMJP"!0"DSU_A0/7I!2#AD&-^
M]L5F%TY/6Y?1F<8QC6+^&$41,>B <12AGOU4(]20HZM&'2L5'5G,;A])@D$*
M**,''7DH[*_B0SP/PR"<!6S+O-%HC0D2]F:D3ISJKD2%@;@]T;.DVZ?XCK]Q
MV5:%/P3@?^-D2$Z'? %*_]^H^Q>A\(H,LM*O2'N7*H/9SB7_:?Q]R_G8U5U+
MXDK&S@E+QKUUP\-BJ^8\_1WUJY:9//NNXD>L+UL<7?EM 8@L;A ^;UK64"U
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
MGF(VI)"(3Y'5C)?>(%?!<!X?J_BH/M--(8D )=\"\, WM/4=1(WYAY]$B;M
MX 0^_LZLS?0G/7^^];33WZ'$(W^0+1B"=G[2A5P'B%3B4<MV5N)1"H57XE'#
M3C5%_P!E'/G9*7\RGRI"4O_WMR2D(JTX#N Y?9!IC+-A#CVI%% NZ,@)895S
M;"*[*!*0>!Z><88::;3D__R+65!!9^$S(6D4)^S?%_1&>5*KP< \]ZX5I'SV
MK01'.O^NX:>B4BG&P*;PH^#=IWOP+;K%K(,(=$01UG7;A^YR=+=KQ=(\/QR]
MX)W21QJS586M*;.0;MWXD>Y._ODYJ0D"TE)M)$:V9&NA\99N [:JNZ]GMGIE
MRSA-*+"%.R%!-IP&^P,0P5J8VTB6XI ,B0@L(M P%^HV\H@?^8,;R6>*G;?D
M4R$?$Q>=DPA%] =O&GB\I;M6B.+"K01&6;9KN*E>"A;C\G0CG:!@[Z6;RB*.
MDL1>)-^$B!C7BL@VW5+?,FT3)6Q.3+1EMOV_IKL@I%G771K-W^+0"<*MZSOA
M^R*F!UZ]##HK!/R\+%WGM3D, XV(G5$RZ$16LU(&&0XQLV5 >23A:.& 3IQY
MY<.2?%SRQ =._1 ?6M02S(<BZ5C(9_KCSR(_,$QFR*C/]CA>^A]E(@Q.3\>?
MBH>07D'L!V>OV!D"F53)*GU-?:K.%E!"8Z\K2@&J:T(%%-&?*WA1^6(&GI[3
MD&\3#.QXKY4@H/W#GM8TM?\!!!AGZT;CW(%-7QS7@]WF.BAD52?OCZ^=R-TH
MYJ Q%<1M7CN!2YN_9B1PMH1M>)1FCY;CN(P4W.\4GSLDU":$T\/>1/8F/:RQ
MZ"YF)'%&<3AI]:+TX;+.K2A@\9R'EOFBBY "HC@"#2?5X].T/E3VPG\<<Z[;
M=C61(=7R_%D[N2)/@&#KZ_YNTMEES3>N=XJ5[W:5T/98])D .IM.0*VPZA(O
M1G:=8%AFV7HYI+:]%2B78MU-)<2U[U^HNW]F[$Z9I,Z>BH>3RUWEH:5N%6](
M \\7M!*VZ"$:$4#Q&RTXK.AH2H,D1$C^G#8I_5$@9$< T:O83B*VGXE=?15=
MBCG$S_BN:)!9L.&YM$*PQ-6:%E)H3,4Z3U4GL(&O4I&PR5OI>>SJK^P(C'H6
MW=!G%6,IR[U6UYFPP6]EA0:8$V[>!L8(%[,R<@/ARL62#1"1ZB<;<]:D6,1J
MO9S]^4_+NYOYX^HW9/X?GQ?KOUJBF&LX:*R;C03( E4KL2O5*0Z!JSP%%B2%
MMQ,@\H6#J7L&C:L'0L5GP>$8^+P=UYNK>@I7@V.!ENB$D2J-# %7A]0<50]_
M1/7V')9\ 6ADS3H3X"8X..YY@G,-+.*AH8[YTI&A#!#GP%#-2:W&D"\"'%EE
M"K==GR@$@0I1)7!65,$K,ZTH?2> L.O=%;G0%KDC7P0H=F^[5KR;U.7#[+&E
MU?(:'.OZ;:FU7XM@4^\MK6:==>"ZRCMPC60C!EOI'N0RZ2R&TI)+:RPJ8'M:
M;ZG-0PYI18LMK>)4VVI9LE9TE*)9<[!QMVEWC%6>3URW?R@ 6K AJ[ MW85E
M4+A;KS,V=%MX "4<%EOGFW./K-'U1>!MJ?Q>5^X=O<:[03WT,4NYF[5TJ^<Y
MZ8LVWEV%:6.W?ED?K_FB8/GF%+)E[D'(RGF[IZ_\)_6B8H:,W*316+Q*X\9:
M3+QFCH:LR1L\)N9.!#H1^'G9>D9#0&"7..XD*?S(C2W8917>N?"V&Q]O[\1_
M6Q[Y,[+Y&PTW;J1>$)O3L<XDZX4VL$XU$9L,M8[+1C;+B4W2<RU!CV0$[;3?
MEA/@O#KA%DJ+914QMFY(-\PNT6_S-6ZJ!T/6$K+.D@W$-EYHK;?E6C;E$??5
MD\,@^$4+]2/^6)A,PY#!B0WDTSLIPCTX[_S/4[" 26KFD\S.(SB<$PS9:?$M
MIHF;?) X-)I"6Y6@U)NPT_T^Y-7!RH%*DJFU9WJ1UU6\JG@_>P*:Z?:_3U$,
MJAH]BF*0ZV#MO/WBQL^0,<-FZ#;(GKK0;5']E0?7'2AB7H5TGHCR14EK<DC7
M*!WY57C-Z[(WS!WFA-S034C9SV3'# *>NQ<&(\LGS]US\NA5"ON?&A#V%="I
MM^72Y\XR<9_6.(5UH+B(X@(_G0O\"'VO(S>F2>\,X5X?Z2;8^YP*#R3K)WJ@
M8:UP+X-.J<('#3(FMJ,:4"C)U6HV+*SJZIO6"5&%BQ.2<9 VO4DB0%)@ CD:
M1)I>'GHE<[8I$+5RE\@%>:11'+H;2&L'*![GW]-XN6.+P8ZZ\2EL>@C;@*QU
M.\C&4V)Z-&1"TZ;=94.FVQP<Y=23,Z1DCPGO48,=*8QAY\ZRZQ05Y(_R4R8K
M/8785_;O*IK0M<Y7-)\4X\.G2_,63;EN=3=TZ?ZB\R3)'49^!C-(3Q2=\Q.%
M!_<LR&+_BMQM4GSP;%K:DT$JTMY!Y*QT>PL:> 7=6S-;45&.PI]Z<@45[>T)
M/QO89(3@GSDEK%KO_0EM$.OD!$F)(MI!\B!3D'QNW=<>T44)?]O=1]70L<M)
M&0E=YZ6T1*QS4P;<5FO>G+])-U!=RQQ5&[%-PJR+<E7M)\'@@_=VN]7&;]WG
MR08WR6V;N-=[]5G\^>P>'YA0C6?*D*J-/JW1A)AY.".2EOJ[!KS7>S_(4TL>
M#I4"MV^/3*AG?IKY]"[/?X&^%V V/OM/L!FX#R*.+P=.J <IC^3(^++2KW:9
M7K6738N_%*B3E'R:2)7-#8R V3QHX/G)<JJJ:041DN?E@:]$LJB3YVU$U2[/
MVV)"C'; 9B2M\[R->:^H_O:4A!:BA]8'LJ4[]R>29^&\2#?06^%$XF=*Q(L
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
M_#^7>;+VBOTE25O45R[HB39>*D6ODU/,DNB%,$H"1(^<5W,;YJO9X^(!"@1
MZ8#KSZO%_7R%W-/ZWHE/(5WNED<:BI<XBIF1 2)6A%6R7:K\6H'"J?"J8*/J
M/SD@1 4Y*/FRIF\QN6:?_U?L.AK&@EBIZM/-!A8_M@H^,+/>U#>7TR$@OA^H
M%:/T5$ )C?,JH(:=BB9=3U<+7FGEX7&^@A(L7*>F]S=DM?CY?G&[F$WOUV0Z
MFRT_WZ^A&]K#\FXQZ]H+K;.N73N1&T%+U7S)8"O(RMW[[L[=0'_5RD2 F7,K
M5TQ=-Y)X^MK'5!0UN@L]%)WOSG#5*H"D:#*<$^6;G0)9DM,E*>$15Q.#PC1#
MS,QE^HM[^EJ0-0Q\]L]-]GAJQLMK1@N_",,;>G@&'5)[H(Q9^K^WB2GW!.A,
M%JE90$]\5X]/<I-8K9F]3!]O5N3SP\UT/;]8TZA;4OLA?9'&H5UB^Z![:>91
MM[ PTJ4%M42<+[T)>2AL7 ),1[!K[1UPJJQU)8_TA?HG"FT#9H'/O2$\:9F=
MHC@XT+!F)37&QFPNU4C <J\I(U2DUE,->*N^<IW_97[_V6[5JUNIS-&M53[M
MBF.*:Z/ZU;G#!%TT'4D)B'=L*0F[EH:N\MI@;PM_PWA=.V\W;K3Q@N@4TAKW
MKL7 +(Y;*TBY4*X2'*EH;@T_U3<O][/EISE93_\3>U,NX;W.3^M1K-(BK3_6
MP=NB1W5^2* 0AD-R))NN4]K(9(UQS)T0*H1 ;QC^[KK&NZK!\8RB3H2B0:A@
M48Q!STPU[7#ZL(#:]:OU<O9GOE6=3Q_OV?9L11[FCV3UI^DC\FI]+E"=F]7
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
MXO[)  UE&V7,5[4T*\>$753VM)#]&[#AW7-Z5FK#"X :&;4O 0QQK=5']<L
M(T0;=5(;LAMJI16O!E(.0[I=OM"0L2[?!1C (^I?G1 EG5,!X^B9GINJ;N7P
M)(!B8H"!'1RT%0: KF(&98T-3..'P/7CA=_$$*1(5EB#1AR%24@PL.U"R9+6
M.)R8<#0H?&*IC9@+QN&N7-\"8U&<>=\I>FV9HUEW#U$1R> N(L.QZ3[BC*DF
M=Q)W8W55JK6;EK(]SO\RO_\\Q[69A-=;IG6SP.=9#+^X\7-ZM+O@?<58R#B-
M(LK^WW;MO"EFH14E/,OJ('C1V%J00;&_UGQ*.P.! <)TDI26Z!*74IN0C!Y)
M"1)&$=E.^YN#>QH3**/5[86 XJ@VY6>J/JFM@" =U"I8S<YISW['.Z:5,J([
MI56?T&[26Z\IU@FMF3#9[=P4.[YLQ?20EG5=;UG7EEC6=8UE7=MB6=<]6M8U
MMF7IA<F4]-HJRS)E>DC+FM5;ULP2RYK56-;,%LN:]6A9,VS+T@N3*>G,*LLR
M97I(R[JIMZP;2RSKIL:R;FRQK)L>+>L&V[+TPF1*>F.599DR/:1ES>LM:VZ)
M9<UK+&MNBV7-32U+GPV36=<<V[KT F6*.A_)NNHZO3=E&[FW"*B_SU^#!_ZC
M&_UZ_;YFPVFR8+08B#U!Z@4I]?M0@^/T\JCC1U(2OH!! (4 AA5Y+15I@#-M
M-HL6PR*MJ@JBU:H<W ZM.N?'7*NLR$O)=@7G<FDOY6NQ$/7+3*"2CNE1</3,
MA"?-[JVJ=);<RW<4;%,2+&1XR&4EX>(DN8NYI[&^ZJL<%K%(I([Y4BU(&2!.
MR4<U)\K+O6OJ;YX/3FB-#301@L-"\W$ GA"?=NM&H]@^KD-G2_/"\?+JQ5I(
MI,VDGO%L3RD'&U6#:_F0I5EM::&<?X2MOSV(8%D4_4!#^(.SIQ]- [X2BD5Q
MM$04;2!=@+<CDJXP9!!*3TB.A1W8=)4'@ADX,JH39YR"*DDWD?L@IM%=X/C1
MU-_>NK[C;UQ_7S#HZ_=KEY<1AH+]IZCFJ*,[6<0B+#U-2:D\2T>:.(5;>F&Z
M8@T)+!' $WO.7HH2%>71'K_4(6$F"YJ(4\X+U&$@I0#6LR39$.2A5%G;+#F-
M^>P_N= W-]D;Z)N(J(#Q-$O/?E&CY) HFJ1CI:)!*7":N8T>DG>28IA:M?]]
MBF*X5XL>PF#/A(T>G'?^W[GYJ;>7C=#1JM,V%K%0EM88%[,>;4,FVZ4;./DP
MY)B,0X[)0$FS9A@)KR)MUVDH4" I"9+2*&R+L;U(3^)61!RJA@Z\ZDH\G;Z6
MC@00L::.DNU2;9T*%&Z-'04[[?,@M@G1]% 3L^B.J7 I;/YBRP*#;25 ,NF#
M9O?18Q"YL>80606)G>LG9;R:\E<"P\]/DO'30YK2-B&+G:UD)%Z>79= 6V&A
MW43 /O7@CN*1'H1N/-"0JPPSI>63Y^ZS&J\;J%&?E/%8L;]&.V?#:]5K2J7V
M11S]R65/TR-YA=F1,N;#S%Y85UWG3DA&GA3HDWP T6H3AB!YB9CB* /6@!W3
MP.YJ:@'T.< %&UIEFGHUMCO42@1]LS^HT=U94^1@^&FSJ!Q">RD9@AML53?C
M_9&_8.=R-D6]NI:$]F4ZEA+S [H5G@' 1KITCU(W7^DT'0O3%&24>;M2/DMQ
M-DM1T?D>]9-DCS_J,K_6>Y+6;L)>']#=P$73NDNPW[;&Z>@E['#D9L0V-&7Q
M*',.=S2*UL^._X?O98<5[6DA'=MU%3X[V&M+"._HKQO'FKZ1,93-2]>,$.JG
M.EFGI3A0*7C\[,3DV8F('\2\41$?EOSA^W\"FCD@VEEBS_.5W@+4.3>2D21
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
MWE4WHKB2*W1*_/-=8AR0)YIVDV+.ES)2Q,EI85VCVS1Q8@6Z-ERIKCNL5.N
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
M[X!TJP03S;3,A4A9AQ0ZW"=8S1C/7K8/N7PE:SICRHV"\/V6?5'^R%NSAY'
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
MEROSCS^HE^+?H[JO/J9#&'!**3=BH*:1VQX?AC@)-AU6W-74D5-"VW)H41%
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
MHO5/^1RDI(OTG=-'5LH%INDJ3NEE2?>F=RC+#H&8F[/"5'7R=Q:DCY/CL[@
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
MI?9I.)RH@@%0^C"*Z"+W[IGFE(OEMTY.G *?-6^*LGFI7[/N#Y#>\LV4K?W
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
M)B#\4&C$#]S-%C@>GXE6.HYH?KO(#G'\:..>K&:6]T<%'A<-(GBB$[3.PT$
M\8K?]SP."Y(^AN!I3J&+S"!_-[6-R,!&ML,6[UMCX/-/F#Z:^)45!F Y?,=H
MJ[(NY 80OB&_5.!AU$L&&L<(]A&8'BSCQ;(Y[$^6D01/^0$8E:2:]!.^\&PV
MEA]:= C8: 7!^S!PJADFU,%$+_!@C3]4Y?Q-'4/T-(,7#_P9H*\,WS!?*DPR
M-T+[-FNCMJLT&[;"7!;&B]T0V<FGY-C 50DYZB[/'JXZP8(AFK6-JTZ<<=A&
M[.2J--!'DV\S5^8]>2CI]G/5.9-':M"6KCIYEC'EVM559TX81H*-776&Z;Y2
MC->J$\OVEFX/5E[$B".U;W_< =^P[&8,D/VWVB=[OB[>69ID1^D<Y!AJZ!?&
M>@W!.KJP0M.N3'3YB')(0&OZW$ *= _=S2#P?&2?P=I4T >50P@^T4+#C+?;
M^(B+?Y&X"^IH:)5OR"&SOUQ:&-F&G5H#Z])%'U3>.6+_(S(YWBRO#B5LH\HC
MY<F[!TL \1G!\ /?A;L94N&%VS?]P+#3D[D%#EA9_KT+4]U%T"UJ"O*8= =6
M -G$2V$D%P\HCX"! >$.:<@/?!&&]/_)@<!TT<;T[W .,5^%D,;[J68/TL-M
M=2(YAFZ6*+%K:ZV/->))"'\[":_=T1IAO5G^KC*U_%]HFD1O$O@XZ@P')=[N
MAN\ FI:'#KN6">11S?+11A@A%MM5OM$(F;<N6BXGJSL++99H!_3PK4<LD#Y>
M2053S/PY^>ZUZNL492SI#K;*LZ8,U:"+K?+TF0:5ZV2K/'?2.!+<; ^NLUX
MN,$_5YXO<2 )$Q:[S):/V-"=?3TUI0THQ0E:>;I'W:5,+F3)/-BBKECA,W*=
MK(00P/4)*42F/Y[$HHK0"+[1I9#VB [7,'3UQ*P4X6#B&+JY(),:)D7YF-*O
M&.XMQT"?S(#_WH5QP^K$5?^2Y/"5ZA21!JHP8?Q)#WTS?._C ?/SVGW[&9C+
M\(45_B&D)J1DY'C6$L %-/#IJ ^A@4"R*0[$R0T7DD ;H6#N17Q)OTNZB49U
M(N_[@_$"[)^8"#X>RX8P,Q1^J76#7VJ=?PDISWZA]DR188.6"NG337^F_IQ=
MM'8W,.?49U)SWJ;NEA[0+^+/X0&%/!!+4P3>?> LP7+_6\O'7[FYN493/KLY
MZWWJ)8.E?S2<92\:N9<>&M.04&&[9N9+-GYBZ$(&A5P"*U)(],-!(=$_G@?N
M&X#]%R^\UDA&LC$#__93P=]_ECV?A!\+-&+!=-)_?OYR^>W+^;?KKS<W9S?G
MEQ?G9U^/)I@6>Q]F)VM ,QD?_9A#0O;]8MSBYVWXNN:3^6K9>_FNH+LIY%7\
M-9=QYBY$2]O??CK_J1=X:"[N-CH%_-1#5$1>[X>(#\19AE.T4^!O0E!]QPD,
M>P:V+BS"3U&S;@JNE()8@!=B!+B%EHMLPUV(B.;4#FVI7GC^+)7H<=-N2I6)
MBEBREP62381TT:"0I@!]%FU#R[OP81910IEVW11/.0FQ;*XZLFQ&6_P,K"U,
MN../C4V1"(N:=4N"S!3$ KSNXK(9$7EOV6 <;%X )$KRT*2+4BR9?2S!+RTO
MCXE=;KH0K>3QS1Q:-@8X> SN!NZ2K&G47ET4&3]!L12_*B'%A?$^6B(.A!&
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
M5/N8=%K0JLD744$C[1[&TT<'G/P1+]3($'0W&]<)WVXQ.!0+^YT6EJJQ0U"
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
MZHC<A':&*NSLHSR?7QQK2-/>+H)@V;U690,HM2C4DA/-U52)"YU>$8@98,?
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
ML'3-<NY:C;274C!3F1L2'EX),Z+[RS?+<\-Z&@]@'2G#OKQLW_PS0!2BV2X
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
M'!)*459A6>M\&K^$!1F^5@,7RQ!97EXHDI>I 8A59HYNZU<U;'W J3H_M':
MU7&H*X(7>594RR@Y7 I_:>E2^,E+*6& 0+F;(65<N'W3#T)EW%\6QZRY=V&J
M>X4;Y%RQZJ,;Y*?/\\^]>%*]_:QZ>%J]A=N+)M9#7^]-#Q?,\>3^LX>FE]Q!
MAQ/4[>[YZ[=VUQ8<.N&8EFV% "2H3]\_!M6A/Q)CV8HDXAM*K6-<TJ4L4M(8
MHXNM3N!4L6E)S,#..<H)0(V+=$7L<4)$\]C%6U-@^M:+'066S8!MX. S%[')
M<^TW9)>Z$%AK9XC,"W]7%,K,/8@.&!%(N=00Y&.73*M+S^ 5ORX<(688881C
ME1VP> P=("6.<$&7S:KN8 DGDM,M:A!5"OC5L(-(P+;M_L!AM=6PQ3#P"0&N
M*C=TJ5,\7*T 6N+?0,9T/+()7I%P;@T/+/'#$V2 QJ'<)GY]8KPGUN@&Y^TF
M8%+T9W1":".\B?'ZI>MX):CSQ'\%</\K9TU[CLXSA$XXJTUWC*&OVF!(G/OT
M4IU$3W60P4!B#()OW?:@%Z^Y16YFK@VM: "=@%*3ZA@[-U)35C;M5T]9D)6\
MY+G"74=>\F1\/;W<-\?*T-2CS<W6=7 EB,DJ=P3 [J]#5;2R(%_^D;JY(MP0
M'F&*(5^/X,H<!\: -0*NJ(M20!$M<?*%/C,K- 5-O(LZ:_S29V! N%NY\(<!
ME\3<Z^PC* DI;L$S8(>3!9I"":_E\>]BVS[M/T#:&IOZWG"SM=T=R/R9%6VU
M/G(R@!3/)3W2#U9G5+%3;. 27[G+^-0'?FOR2L(-H?#B1P6["D $'N_'3'UT
M TQUHJ4F VKG;IA!:V9(N/ -8%.Y;YHP,&PO=,%67[-((^J&-%DL$727I]H^
M^ATBRY<556'C+'>N] 4,F5I!]V3%H;_M5-6I'DG ?3FN,6082:][1W83X<?!
M]8#BM@KN:HB?'.ZLD\$(B58][LQ2Y*9\?%P>SN)^2N*C$3<G!S^T.^RG:)]"
M%QT7_-W4-AP?\7;X9V!M-^1B;YRC*(FO:BA@11,?+^HZ/TLVK=;-GA1C\'$4
MG4K[$.+XO[ 6/!?("OJ?(+Q8N5!WT9)A#96[>E*$)CEFT2$2A]8AFA^!_^KF
M;F*J#*$E;H0QHJY;, N=A4)53G/OEE,\*EF+BKIH":/*A-?U*1[!IO 8W\[#
MS)P1FF4LZWDLVTM)\#088<# #5DI YJ.4\O<@2,N/CEPGQS]$$)>)8(M5RGW
M*((M\^6>X2Q[Z6^'#[R3KVL6WG9]5JDL$,%$R80T( FB;PX0_"P_P^"B&K>\
MW;.*<(T4X9@.!2/40F8?62)U:184%F*W'^O>#Y"MA?>O@LJV],9*@4&(5/,;
M P?ETDNIUI+NG8O+;S#+-VJNE(0KB(1%GA1*59(HFB;P?,L<X",2W!466J6V
M[8@L*>(H,-N8"=4EO05B553)D+):9]HH)79)BW0YP8*<Y.UMUWL2J>OX42NE
M9,\N+(J JRS6#8F88)NCJ?\.#.A-L9=@X2Y^N(M7-_#086?Q W%J-W&*B]#S
M=59;TDQKN@""E8C5KG5&>R!4S*XRA%*8$+SR"^.'$D&FM7<'[H<AK(\@NH,:
MNICS6PHG!W2Q'UER2E3+W2=@Y%/!GBQ62:TIK4B$F;P817WQ5I45C>1H:^2Z
M8V!L+1_KDFO^@:->#(@KT7K(/ T?I0RW_-<;7_*%4 ?]Z6C1?^C-%Y/!W\/[
MC&%_-AZ-O\][T^&L-_^E/QNB9O\QG,[_L]4+C6/Z&6XS2%V>$6):61GFYBM8
M!C:8K$*IWNX&MN$57G(P],C"_XLZ]QITMN=5G9?&MD_-M6'0=WQK:=D!WD[G
MP Q@>&<[?#?M "EN5(UULPTBP4U6Q_R\W14/0'&O2?RB4C"L"JD\*)OFF*:@
M'AL;0'7_E753$EY-@X,5GB5LZSS&DM?DH5)/PNE3+Y6([3N$JA*9%IS4N(A6
MPO]8&QB_&3AZUZ>"(=-&9P"4$]KYJZ5P.X\W=Y+_F=I62?G7MUK8:54DW;WP
M8V%8+[SD$1>UCY+(8)=KP7[ 3:T>>P)GC7D"5FI5JE<$/?P(R*-(!!]TN9#X
M#5CK5Q\L^V@FQAJ, [S1(NW$O/4F@>_YAK-$#*?ABFL,;5%5GPM:[V,\^Y>V
M&&&G5I#O/XN%MI_*')-_AP\(2&/X3)RC7EGV?47L.WX^UG$CAX5>/5ZALV_,
M,4]J&SKQ.$IBJ H.ZA@[-%Y(,7?:OMPF[-@Q'W(;-Y_U0QI%8ZB)X(04&RA?
MY%6)?8]OO],8.#P42S:,V@%(S4L8:HDG(6,K";XZ1I8\KL@*:54A4*>_7%H1
M.2-GY<)-^*T*H3NY"M2,H3N'[_=2$^A"+$]Y\S9B>%+6'\Y$Y._&KA]=MLVW
M=EC>':V3N+[W##/ZG$ 3[S!*+B9E<LQ$^8@@6()GNFV#.G6FB*R]^%GAOXFV
M#J5'YU'"2YMDTU<12)0?J&A=LHS[AAAWV7%0E!$GV=YM!Q739.X\:P6]4^>1
M48$\08G:;9GYV_;W(  B WNR*B*SZ+4=2[_.RKP>A1+RHJNX()3O%"6].@N/
M.O2)2I3>_J.1*'#HN%Y)*A2PCQ]QX9P5O ?0K_FW(^'!\]-M?SZ\ZPTFC]/A
M>-Y?C"9C_"?\Q5[$R)X1?[/5,^=AYI-5FC<S8./L>+BD2U3MY05S;VKLPDR@
M#*],Z@W\?'W3CONLN+)-*@OJ[>[0))YU'S_EBG"4UJF9:]OWT3LOTFE7RL>4
M6JM$0Z+@!-T<$_6( !/(L,CND(_NZ#M* ;L%^$G%/H7%@F"_#3.(S'T#^MT%
M_W<<0^Z-G"@="JW^CH0O?2B : 5@9;**6<Y;UP65-H)C#GXH@A0>"W(A1EO!
MT%EV=R/X%7@X.L$)R]&982)Q_*NF=(+U\Q];AFA-J<5Y"?4P.Z@[PW< 3<O#
MT8-2E23WG:Q,;CZTH2$6ZU%^4Z"@CN(;8RZ"*;1,@(6X:LIOQ#@1I12G4SZE
M.@S6(Q2_(6:VJRM**8AB,&Y-OVA*=1K>+(_+_R%#O<3-X$/%A*J89,%H&8)V
MJEN97MXU7?:R#W\<EUNF!8VK-ZF/#:])/90@*T'>/@VT,^4F:D$-&;_^H6]-
MZEL=H0CR)]97+$*D<EW>C!P?6HYGF3B]-^D=F,0O*:4)\MQ]37-0CQ(E E>D
M+._D'WNRWU,*Y4UC4>I!AH'/TMQP!Q]!I<*\K:M'LOOM72]AA?)&-(7ETQ]*
M(\,*XF>YAA5B]-Q8OIZU^]ZX^SK"QV=)+K&N;ROE[HW^>@W#^-1&E*?R?#Z4
MJV&W%X\<-(IO>RGGZ0M]4\>NC2S/B&E/I'WP0UORVM(<HY6(>Y/DHSIRVLT
MKL6 EHN!ZX02"0Q[ >!&IO.*<PI*Z8+B7BT1K/W8#.@.>!)3+R3M$A5FHI3*
M* -L\?N**-%H]$*Y!C>YKW))3)9EKXF;X(>"-J.@DB6F4:2W&.NZ906M,),/
M36Q&$T6)IM/)=4L3&F7*Q.PR$145<ASEDNPRYCCR>NYA&KV770_$$\'N5!-\
M9#XJ.,U]N3I>-QJOPEVX;H2_3:41?$)P@2G$36W#\8Z@-L,ZS5C(6\)'LWI_
MKLV!/X1(P<K:/#,[7SM7,*<HQ<8E?$DI?+>(0M9;$?',)N*_6U#.4TRM3B[A
M2VI"N2$4"<4O%X<%XI=PS1#.8.* PB+4!2UT P*7.(Z<^ R<4<+A1Q/]XH=;
M(OI]BP_1'XF>SAF-?$:B^/M04O1<SL?4Q&W'S3!>?G]H0YYA[@\ 8]9M+%(9
M(9F?5%,SF@.E;(U@X+82!H):>O&TW3:M%T>?_- +J7K!PNV/_2+'MJ2*2.KJ
M(+Y,:$)%R%__T!:IVL+)>(T>,>9N(2MR,,\Y*9%>C<_N0_'8+J_5$(S.X9:R
M.)SI<@O6EH/9?6N@X4S.:/UVIOBAHNVJ: 7I*/$H0$W+,Q7;TX+EF?_ZAW8U
M8GDR,EY"/;JN;W!YSM'6IT8V-,XI925]@21]_+[V)%5,)6G$>O=5HTC)_G)I
M152,G)4+-^$O*P1&7G($1AZ^V;,.'_V(@2QZT?;E3,D82);TN77"'9G'5VK5
M%"UX_LC&>GQ3,XC1@WX*LNA?![BB?SPO\#HT68W0V>3-6@:&71!Z2&RG%'R:
M$?(!5'Q<D1[AQROGWRS_-=0FO)F_6MN%.W1\7+JX*&*OP@A*88-/5B4RKD"W
M_/BX>V0( #AXM<#JWG(,Q[0,>[):(6,,DN.F2CNI+\0*PC@*D:K&!(7OPTM6
M E* >>9O2@F^C96=S@G*K6^2WNFB68$6*OG17Y42:CF3"P1212$;DL*C\6YM
M@@U1#IF_JRD)RMRRLBBG1>'ED>,<AYTA8V-#>XZ3;J*45)M>-)D90KSX;U'
MU&<JV499FB[5R.Y>RG2RG"A4R;=:AW\&:+,<.2:BSWH#>$X79^=?R!8KM8/2
MHJ'P^<@@Y:=1C]4V6FK0!RC+;::-DO)N>KTMYP@QH$.9ZUX6GASH=)9,R[:,
M3RF)N'($L-Z_2F".2B];9\#SH86S[H2W.86[#+6MDN)O3)1Y%+$S28\=JG(F
MG(=*#\IX!E83F@WOA9+8J$>D%6+))L[M,S"VEF_842P 4F( W\#RWH7W@1]
M,/*\ (>=$;#*/8Z:T)0#E3PFQ;!+POIY<%5^[=9BFH1['8>RB%Y;2=\Y;3PW
MPTZI94E:2HR%EP"LY&!Y%T#+64>%6B)VI%.N):%41$!S#W3BB!7#+PD/ECI;
M*>=(E]\,R\9F&MK+PG+?DE?BX\^=.+R;Y*J$QT%2KDQK!U*?9&+V*Y5?)LA2
M'048+NB B3[]XJIC[U258G+_X?DP"%T#$_\5P,6KX<1L#Y>G?:4[T9L-Y^<_
M-*@U+DMXR'-0FF,3HI4:.:5<6KBW(,HI/W&&AOG:=QP++0.> 7=%UZ>M3.0T
M-40Q?@MZ?$/:8EHZO]!.=M'OD34[!_#-,@'1]\XUR&F"62"O8B!^4^<835JT
M#[1B'ZV%'\K=@V.O.*WI:6*%FR,Q(F[$O)OI[''RWK!@5(L0L6V3>*3B*C$R
M:I24?O T\=L27Y,;GC/1:J"2:Y'KK/8!/T:>)-"1<SO8(GYJN&8BVS@Y/NY5
M4FXEMOSG/C#<&%<3+9!S9]B.%@PW6]O= 7 +'+"R?*_O++D65N;^68Y>GQA.
MZ[$I 9Y.-X,)1^*C7#$WQJ[S%M4SQ$SW%JYOV.F_XU?Z8]?_'?@S8+IK!]_V
M'T:*.AW[-4J W/A\/A1#';8GBE;W]K',B=5B0IE;%^]^JSL+HN.""[U4]%C(
MJ JY9:XX<LN$G^^YJ]XRF4#/#&?0\\)R? :>@SZI9@1E&VG)0NYFDAE%EM#Z
M(B\P=Z5R3,WT,AR #6_TT%Z"Y!QXE#=>N79* DBNL//@8N.*7B"AON\J:*DD
M4-@$5R)P"GV=%WE>-PZJ@VQ+$-N@U.=:7&.H#Q.*N&F>PJJTZ_$ZJU:V!D50
MT/2N4LH008'X[:TNM5,\*(*,4DF1A5ME\^A$BH<O:H1Z,_#YZ'J<GT8]ENB:
M*1X4D7?3BW0Y1P2]35'!!M0@+X0B,"V'385X7E',Z?RI9>\:/SP@HYY0B.V5
MQ$YC.*#<.3 Q2HE]D11!&-V:A"PZ2I5!K63.TN\#->EHPZH,4Z)Z(S]ZJ,70
M6?I]H(<-/72&:53"L M);52!:</6OR0V*E'F3_1[J?1#A"1L;.'B]S&'C.%"
MWT6Q?%!-%,M!U?'2VCA?I2;*4?"54Y.)0TX%NH+Y)<C(%/KT3O3"FWZT>V?X
M8!^K*W2U)7[E-'':)#,_LM_HD:#@5'1#"2Y+S9;3CM+T[7!<0 B0Q^_<'(\4
M4LC6.<O*KVI<OS8&V!H\DIQ&IM'PZ($;7H["<)#):F9Y?W#'/G\[.S^.?1Y,
MQH/A>#&+ IXG][W9:/[W5@.:,67XP<D3HA>B63B^!5A*8U+[/7_Y^J6E)+,I
ML>$ITB*,BQLKI?Z<',^K,P>-G;\2R]%ZN[L%COFZ,> ?E O_LFY* :*"7!E
MP4*Q2IGT\P0DTZ=>O9=UZX:D683%(G,&VE62>=\TW0!9O#-@ NL-HYUZWTUJ
MWA$9,PBGP';CH5GEF^L%-);@0(5'OFTL;JFCD'G)5>)N6<:>7A*_1^G1#5C4
MW,FIQ!)!H8)H\<SY]N]#CVZ(MD0Z+.8[G6*5-NQ!X/DN+FU\3 -UWR[IE:7Z
MV\7YY;$?2@4YETBI0,X5J%9B R]&26FMVG^Y,"&YZ"EF<:..R)YA^>:@3WJY
MTA)9X5BFR2HSV<(UFMI6*<EQ,#\K,3[RY#]M22;1)YO'1TV4DP,?2X^,81;B
ME%@D2^1W6RZ_6YWE1R-.B5-,B?P&Y?(;Z"P_&G%*Q*B6R.^N7'YW.LN/1IS*
M89K)_(?E\AOJ+#\:<5+N9(5+T/M<+L*DC9XRI%(GH="$^$V0814=:+V,4JF3
M4O] F! G#I@'VZUM 4B68JZ17F)D(T]"^0 57*\/)6]IR!VR7+JY.+\X+N?:
M%:=,15H%64B2-'M?9,]:.];*,@W'WV\Y14I.:]\-4=.E=:3TW.1*?=_13L6(
M_*WQ&" N0,QYYLOU0Q>]4%*98BFO+E38*J8 XE\8:V(R>UH7/='!3;$LMT@C
ML;%A)'J,_;[G =_C#HV]R8?&3A:_#&>]P=-L-APO>OWY?+B8MQH9.X5@:UC+
M..*Y[RQ#NB."$^K+XV0Y1GF^N#EK)T=9-,>1@T1A("03]/JXF5*Z7(OG>8UF
MHE7ERX68@'GPXIG0*DQN3VRGHV#YB-5E]XX)7ACOQ/J#Z28Z"IZ93D%[LF(E
M*B.7!C%'1OQGG05/I5'*Z5W.X^@[L'4]:T]VT6)^U"1#\;<S1/'QJYSN2969
MSH9>HXF0;'_YAFT,;^$FR<>*A)MOI:U\&4F56H!;I(!C?B"R+,^%NWL HN>\
M%(,LUU9;87,1+.@>1:4GS7EV$3;K?$,=,<%)K:@+&5PUJG%/RA2Z6P#]'4X:
MYR,NX4?_VS!O/O!Y?2KG9WF?RG0VF0YGB]__TIL^]+%797S7&_[C:31]'(X7
M?^F-AXN6/2P$\IG\*B5]GR^N6ZK O$_01IPC6]TC>G>%=9]),@6&>AW*._]Z
MF4ASZ8LGAIY*@46(O(L.^-78H-*;&3(CRMY&,?14$@15I<8A_Q(.J"3_!\-9
M4I]''1IT2YHE,LA+LX10)5SOM<5]&R!.6LX:<2KY<;390O<M2M]*10)37\U!
M4IT'*K\K>#00\QP =WO&W ?0L7QDTR-"[ZUW_!/E33Q/?TT!(H8/2CQ>$!'!
M@9/(F7CR(P?Q=HVHIJ\MM"Y93ITC3EWK@)C*I"L2_U<;)GMM2;./BA)*#\U!
MPDNYH+N(M@L<DOCW4!(]7-Y12;PT=3ZE<T$)2T4>=KY#U^/&3=A)2<Q4%#('
M6LBT"SH3J17 0/8F8A/.P=>$#\#PP,Q:O_J3U9,'PCN#6[!RD9EGFL$F""NJ
MWP'$!=.*L. L^QL7^M:_PW_RHD_<ET\4PI(9*&K%3%T)';3@.*V0TEK0!OX_
MD-\&Z^H>56\BS#M@C;_><=2OD+'3"O39/_R!?PG\$Y6L0*&%?^!ZB$'?77>)
M4S_'I>*\N6MGF$-TX[!TUAN*-7@@X=2NK#5]9WE;US-L[J/8OJ/>,*I(?X<B
M%%T3@*5WC]AW;[V#911YM7__,@>^;X>W*L4QBZR]]42)""9H&-DX<M!L@.?C
M-=@;&%L+[:O6OXGUX4C-L^RZ0.SZI@%F*E$M(?U$2P56D)D' Y!$B'*_(#T_
MST<[]@>#V=/PKC?\YW0XG@];?CUJ[,(,W=ANQ:2B'8(EJI'<Z_GRHIW7H4D(
M_@R$1OF#9;Q8MH6+C]##E4O[*:777%+(:W$U8O6(8GEP/6_@.K[EK(%C[F*6
M]?V! >$._;*H$"-77YV 4IU@"1=!A[7_V IK[#CR9GF(C'L78L9,',P:S#[*
M.8340R>4\)(IY>UJ.[EHL%6 R%\!SPMIP.^!2K/14#KI!(L*E"H2GD)Z^;@G
MZ%_ C$S@PJ>/^68ZB)6+-K4S><94W$)@_!%L[_>&T,)= +BQ'/QSWT1G),_"
M\QZ^$3P)5<;1#0KUB5?/[23HE63$(.8C"+V3#KBI0:D$AU-[%@,S)$X"#96
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
ML*C+W*.]^V^Z#%.?B/7AM-)@N;Q485NW8K9?&D0.V1[MX/_T>RF_D'3LA 3
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
M:9#RHPK>&SV1Y_BRI<[DVS[G)D4[PY4UG2K->9HG=TN"!L>.![$1X)3;1*W
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
M1+R[H" X@G=.V8[VVM01=DW"8:4.&+J:MZ^X&^L1/Q&_4W\3-$-?K0-/"CY
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
M937GEG2JR(A2C.S<S7EZS["4ZG)^KQDYD>V+H ;-MO9J58:U[AG6TI:,[MV
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
M1*A:Q $F\_=W0Y-S"5%=3KBX8,['>58;?Z4#AH*%6BD:%L02_<:U%%M2Q/?
M3_XJO""W;H'PFR""-KR[8_%5L2T+S% HK*+;IG^I[ 6IHHE4%PRZ8- Q]GQ4
M^#A%T4GZK9L^+KL^+KL^+J#Q;4 #'\U%%A1TY[QAV8^VI0JZE#<LTWB'X4*1
MR'#Q&_BU9V/J+QR:P<U8Z)+5$KHL \6 OUW8][(4=<&=;X0[U!H+T%WT0+>]
M2 VT7^+DNPXCI<+[W\-U?S= R5P Y0(HWP=0:'_;Y[(YUZ%A,5),0\Y#$@B*
MG@,Z@.:&\AY8H:^"?:5+8MT"OKO4:X,(&A$T_SFV;#;[/_R-'$_N:OUF\)1*
M7.#I D_?!YX8'R<P J!@+(0/Y&'YB-"SA/>DWE#,U1J(MEK80AW4B"WX06(O
M/\=SS4*YD]_.\4I=HL07(/I&0!1O68HN*J:@;5+QB@#@+1[ FBDBL-\#1'%T
MO++?0"C9CT!->'L\_$:^&\Q<XCL7F/D>,-,2+*=RRR>2=)),O'$MZO:R%'59
MBKI QG>!#&R9)-C%")(+[S9]O >U*XZ ]![+)($"PUX#.WL-UFT0N!%7^W[6
MR>4NO O4?".H2;X'2))7*.\.+6['JD37G<#VO]L%5.DGSFS_[0@##9R@@V/7
M=A1Y>5 7J<.GP\>!4O(5<U129G_^@7\%M8@:$"PD-"._J9@G0-<,:M*3(HHD
M_^<DHB'"F0:L8(QT/+0'W!LP'>HT_OO_A/N^D>N8:&B&=?T?$O_W=VA0(V^:
MT5C0AR VL("@Q@09MGLM:'-A:?N#3*>OZ#B<*X8EP4=DT"E$!B)QE4[_#['Y
MB(CQB)(381$+T6L+7[RW@I_PC A^,VQ\%M>UA4.K,X#JWJH5,\4QS&N:NDJ>
MB"<[F_"9#0<@YOG@UFOFWX9L/31O\7(6?+KWWLYGA7*;JOO()>#=[#PI4HQ,
M2@E> AF!CXNI-)]." D>R&0B(=.22)+Q'UZKWALXLY%/T6DR'3PX#CD?N9Y/
MRGQ <6I#<=2K__T/E23_KF#J>'U]XE;WC^GS8X3<[33JGM=IZLK[]Y"_@_%<
M'1$PWS>.IFN%KKL_6J<.Z .][D,?$((%_Q"P9E<61,>U@(7FCVD!44&'^_TB
M-/@VB-E0[0-"%@86- #0*@SR/2:".(+]AQ^  QT0V[%<5 7\*!H3T]#7)^+8
M2QMRS;XB^FAVRK -@9!=32,LM-$:-6C[\53" E-702=>. :!CE:VT48E6&X.
M6X/2#!T=M"\;/EQWD9 57;&AQP-_,B38 Z\=&\#ZG1&PP>,"J'(14L>8H!5N
M12><N0'KAQ^@309_MY8$0GO3OB8D( /=]DX6VS3I%X.]N2)ZHWTM(+JZ-OP%
M;2(G9H*EH/MQX$@G^ 0RU*JHN7C[@]_$+T( E@'Q2H0?=1<CTR](6@F97+^>
MZ0"2I(GBG<6HX+$-$$_A^[AZ )668\0 XH-'9=3+F8)6[6%9 [Z]H<5@"1EC
MH<&@5[W??V%>+1'9P=#"W+<-S?46X- YV(C;&G! B+YH[X;/2K^6M?!@J=J,
MQ!,BV!H<HFV#R4!;_EHWA<LJZ[T?D"Z&'I. )VDH-0K,!,WURR$*.? 9K.N8
MT_RU,VIN6*IW2L V:1TC/,TVM$("(HK0&$#YHMZ+Z)*3]8O^D9N$!"<!NJC-
MFU&0(HKLD]/V9  WC'FA /^<@J 8H>."<&:BEQ%UK?4OHB'YBQJV _\6+ E^
M,V$E(M:FOH@$$P//K0& 34#J8S;/ 3$2$"L$"V$!*FP!TW5P_; (G$A#1 L'
M5X_$R@'B2$=238 %OL(2"[^#-#9^Q8!3PA$47^@%^(/C8<I$<7"  Y:8XE/^
MEK@$6(APLJ-57T3,@'"!M'^F+&#"('"9CPPTA8PY(I'M#FQ%4A F^%,%H06
M$P%1SK"P^P&[/\0G3EP3'0%:.-ZRDR-(HG%%L/O+PMD(1P_PF11(AL+RADGI
M3S",N(%H;+ :34L%C@>2!L_K,/89>-_H/@#:2"KV* EI<S*L?U^/X9WV"CEO
M;8Z ]>4$C@ ]&/B:<#WJ7_"A["'4/\H>,U"!(J&(ONM!0POF]$?5XI8HZ.0H
M?W"AA@$ACTK^>J&#79\WH3VWJ(I?6.] ZJ!J,#J@+[ ;$%L5":/LWA/FH \"
MR>*/^OF6WW!2W17JFC_03YLX.VLMVRLK/6!-% ^\ OFZA?@P)[(B5#>>S>XM
MNWQ.YYLZY.@,3C/()9K^1: 3M!!&8F,<VP.0U8*7.[>^^('(!@?,$#_1B'SV
M/G[LL^8O#]X+!K#0) EV'B":A-_O(EBT@G?@]'8M&QV7BJ1M/E+$T2_4L[GA
M:A ;1$];"]!L\NFJH-LI/%,O#-^B=\>%C4< BWKD;ZVAH8?@'7K)0PAOOZ#8
MBU?$3[]#N.BF/QB3D(-,#)49ME6@<2CB[MDN1#C3'_\OOXVYX)LWL O(Q-F/
MJLN@_RAO6M"7GR;'!1>K3X$0\8%"6#GYZ4UB #?>1,2;7"&Q% <-3IA@\V#@
MZ5^D'R!5ZP*D!<%06*+BO\(#]#D(K3Y7#W0VVF4+ CT@;*8&-!5T(@MQ7B/H
M<%6>J$#(UZ!9Y=O?+K0B+ 7I96AW.<APA(1%"P_XQ@)?53O^? 2XFCT"[0%6
MUW\C=452/^6_?$XC$TZ9(!L75J!!XZ(5DM#=5WRN/FYB#:7>7F%,,4P>2 ,D
M53^AV$!=AET5O^3C2OZ"REI"XR0,470M1 )H#*.R32C[T%I&^ @.K0LH6%^&
MF61884*CQM!7'*$YA(Z_D("/_=F!BIB"!>V?X#4T3FAM^/,3F8#2QI;TE/?:
MM1)]NFR$\(KXK#G259#9%B(,-.@52=L,#$A/"9;YC*R@ 0-%WYDFPK9_:0K+
M@)A^X\*&GLBQ!,@NM4,%UC8%-#DU:+) \;5@9R3HLD!B0J,"\P$**D.3OTB2
M).P1-.WL'4!:U[*%I#[:8OV "J,#%8,7_>YM83M^*:P-BP $T.IYI7MHYGF=
MR-[WG$#;L]']";.W3N13PM<L(-C>G(BG\=!0B-%W(5XQ2@\-UC"H6*([09I%
M1+IBXQ,K6U5!WU'1; ^2 *X/6,B>@6*"NF5XJ <A!5J3GG,OH(("?.K=T(3'
M8J\72&&)0-.@*0AL05N3VA\+MHKQ+'F:,!M5M$$S*"ZV@:Q(&Q(89:EB+^K3
M5- &[#,!VL_7BOT-0AK,AGWTP*JE#N<4O4]'R8J&;(FG6(*J0)&>;HQ"IK^7
MZNO/!#]D!/6DSRH?F/U9 ?OMFJCLX_%@#SS<?]]CM=8TV)G_SPSOEV<R0=G2
MD9: VE8"HB8@+-FP?]VSX/(NW&UVX5L Z'HP/U*#S@O4ULZS3YV-[;7&*7EM
MO*^)M353T!#;+M0%P(+3(3A(5E\O[K6Q*^?@(!6*XB'/&15&<2%8_8VK X(A
M/8Y]HAH P/>G4B_Z4]#.@\1!0L/.O" _\J:"4%;8@=I'NP "L?H^Q']:^WL'
M%*:ROP)\1E<,$$4![QG&/?2Q&;,CA)W*QBT,S+7]LRLRD6OO)@7NPZ+6X4!U
M 2+#''T40RZ/80T%'=:%64J39,+7,FLM6C-<W88.&70-RG"X.(I6J?B^21.1
M=V"YR'% H 4K2&*4]#TBZ1"72# 5+P3N^T1(%)_R3G XQVO\%[(* X%!/U\%
M4M(,+/YDT",9UF;, XT4,NE1>WZ=L-<>TDC^9 AVI&,RP"F"?+.-IQ;R&Z^"
M*AQC"+"YB*U'9.V;D 8 ZF<;[WZ'!@7$/J#CZ7.&"[W,9:'WLM#[XD+O)ZA
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
MSNSBD#,[Y,SV,6=F.G7*]9>Y%;G;HH9ZMH*6FY#=,D5W9U&23REN>]-A0;-
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
M_/SB+O)^<WC-\Q'$-,?E$;9N_??1;9VN/V-5C*5!]VI!N9/HQ?K1=$J>D_O
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
MX*6JXTB<71E2LFR 2+++Q._35<JAXJ#D*12]]<&8 $.G&[<8\=-TT=K;$\F
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
M9F3YE# :&6\2>K1Z-(89!-W-Z:FP(%+]RARXGM>N8-<5O5$73[Z?$QM:(;I
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
M\'+6+^\1I(M G96#>RA ]"!Z[X^F#=#7+@CE%HDV,10,+&'?6&SSJM6S7"%
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
M>7PR'1T64H1C7!I<T'6P3MO#>J%>]X@&DTR\1/!V,*!Z7BRN#P=0.0\GL5<
M514SA9R%!:P@$1YE&Y>F0*UQF+&X\C@74+Z5UM' BY$!8JG"M6R:<C%+5FF(
MM2AC@:U"]<6O[N=_BB5EGG]:E-N4&\293??I  &2,5"UBZB*/%>2'_.B=SGF
MUO//,ZJ<I+ZFF4JKQJ\(V3F35L%?0F"7.65C4B(=[(.;[E?8+59D ")^X5ZN
MSKNBBH(IX/=@,@L08-1V%'N04@YSUMR4H%N%J=+KE5(/PE3*O:)P?TU?(>A3
MIEZW/P (I<HH,#D&UXF$DDEP 1/?;:,FHYK55DQ[*_6"2K4<10EQO$&H&(NY
MNVSH=UWP<JD:/BG&LXR3T%]B!J!J'<7)GBQ/N2SO2$^,T,R>L.]-8FIKREU>
M<6I8PDT *8=TB2]UL XDX3;E6F0"M25>BJ9MT8!*,C,4%;+R#WX9R4(A[#VL
M^P9*!H;LX#>QG( JC+V*U01WDDTL&ZDEC9AKWE.4_11=J2I2"SB9Y&B]7@G5
M6#4=(&PQ-?47#]8-F1E?TDP%\=,OJ@_*N5$HH,8RP04Q#C#W_L*6-_B^/^#^
M8%?:BYARI)MLF)FH2@J'WUCJAPE,8![+ G)##]R>&=(2;7[?DN_Z-OG.)M_M
MFGPG1@,Q/?9&7\<GD]'7X<GIV=>SDXGWM=L?G?2%Z UZHW('S$_GG[]\^/#U
MM-<['CQ>2](UUT"5^>"VI*+TP<B QKR[T>\TJ05D2I%&EU[0?)9W_\[A]G\6
M82M3!4??D]9<C/\N3JF5!#ZMP\=UX0GNS7&)TVE0/P-Y]+ML0(1"[@-U[74^
MR?%XI/SR=Y4UUV2/AH_5\3J8^8XCPWV5N\]C<IP+;X%-NQP)FZ*#4[J: UY4
M9<:73Q>7LA2CN<YY7)I(^IHL>!NZW->$2QY&?8<1E?)(36R@KUM'YYGJ>%<"
M3,<Y-ZL$01Q?8:,9 $*4D]L%OF\LNC:V"$6YA!&62P$(L:Y.5:U@AV>P:.1
M [F.JZ8,Z&%(<JNXU@P+A\?8:RO"AIGC)/Y&7S&:>1I3^ !B6=YL'[A_2>"#
M+BV50^5SZ8YD_VSL<8@]^+@BA$I&1.2GFP;6=YP+U4,56R>HHD1\[+<8M3M=
MST'Z7J5@6@W&P'%&QNB+XI74YP-KQ[DRAEXD9\Z#8$"5GV>7LJ**"C;-Q5IO
MP"<'VB/1<&G.VJLVG4Y/]XJQ!%*0^)*3ONJ>0G5OUEHP+W0 T, 0P?-+D>-1
M*Z$_B4E(9H?FD8C28K9A8V4B'S8VKI2S%?4\C_*9 G4F9GR4@\WGFICG0I))
MJ>7!&+&'!A5_P6CRW==5;><\+IL[5B(=O(=]R:>Z1_]7+LCO^OWQ9.1]/1D/
M_*_#X6#R=7P\Z7T]\X\G8] YQF=BO0GZ\26Y=X2O;>BW7N9]/3T]&9P\<$;_
M+C+Y^#MD\F?!MK0)D^YD-.[V0-7JCKM8D37N?P49/?TZ&$][W=/^8#@^':_!
MY*1H*)B^Y3:ZZ.2)_',YQ#Z>OF^E!G/R71K,6D%Z<59B3.JT2(R%A^6BU)K_
M<]&:_Z-N)-H>!J2'RW_6EQ@NT!*C([_%\3?\O2A*:T>MAU\@86T@X@YC$4 5
M4.UA$QQ1P@.G_Y)=NXW1R=AC#=L!PW<PFXIGN6^</"U;P:D.<R"LA)YK[BT6
M-(8Z3 5/A%,]=N]B7,Z7'9XJ-PCE'B;F9%NI+3T@*>O>P5C9BR$G%/.+1."
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
M<;1V*"H(3BA+#/BXC(0JQ0Q'N:/[15O.4<"]:N2 -I5-'G &$'P9T_DP329
MMR^]"_ 4!?G<F(-,RF!SOH1+4JUQ_JS$EFH#I55&$@*%4\P$%SFRDHUC'-D9
MA@XT_9=J\#S56A%&EDEEE_6"DD%*MSKW%9)&@+'38HLL%6/6V^.(]B;/X3/K
M,HH1::"O; ]9JIX>4=:GM!CEP_BQSO:4ZM-^1N>.;73.1N<>*3KW@];>)VU0
M?=!F>7,Y1":C0<U,=4J2# ;U1HXK"9:%H+"!1C=>.:K+'J:=@QR;F%TS9!X#
MQJ1DYHX1\<*((.;(R!^D(S^19CEQ34-/H/AAHN8&8$@HFB:>=E.3QD@S++3&
MP:/&48$M.09X!,&Z1X1=)QTL[Z8I[(M0%*E[XSP(41O4>4^&H*6-FF\@^4SQ
M/RE/\$7*'X%'*WM)?%)8P+; J('R#S5)"&M[5[8&ZL1LFZ+_C*<ZK G2$J4
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
M[T?+Q%N\9E5\"7"Z4PN6R* 7JT>],5!1GHD'5HBKY&$\N#ME&!;,WW_*_!W
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
M!VL": 5^*_1 (#DSN+IRE\ Q$L21'R1P6<,5K@3H^ M94<<Y!V7#N\*+#!N
M2PA+3]3Y),TBT:"$$!'R$ORZ)!K<#V_U.@[SN>@X7PS6@#(6R /8WMP+HA1@
MG !/PXTBBR.AR>2 1P3AB>1$HI8/ZR$["T2VDN1SE7CSU$42#7-B%_CV/SN7
M< .\ZY63YF/ <! )_2QQSB!BUCB%?3I^O 0T)?&<&)NX"8 R8*&Q1 0<?5YL
M7_'=. $H_2+/HB\2H*J,5;I6S_N@BBA<,CVSV#=4CTD(:$.=;E;1<09(C66-
MI?;+,!$X-4O=A?ZP,+/E7>B?&;NF?_]K)[W).)54H?JDB%Z)HS%0^K<C;PHO
M?NV%2V^5RE.>GG;Z0ZT_:<4=X>",.J>G+YSBQT*/,G8S]VZ.#(!)M?<H%-/L
M-7]+?42*NOIL3:][5EE5ZYF SN,'0DJ%'0T,;X?GS$!5^,>SOWWY>%$Q* P&
M%:':$):T*_G1LY^_$%\%D@9YEN'%TL:&]_,.5%F&ZB9PM8Y+JP3IS6QZ> _!
M77!>TKL*T4PLVQ2.N\IJMRIB>V<O.LZ_I,XT]WS!?T7)"NL$<^!DUX+E+.VA
MT.:0_R@>+G4OI64&R$4G\54$8 8M$MB[DP7(FS\"SY/?(:E,^A>=B+DW VOJ
M7<<LELOB1VY RA[SK"1[2*%@";-)]NPL<KPPC3?K2MLWT)#8^9W%S46<+%)G
M)E (A<$4CB^ ).,%L#OC^[O*(J4Y[R*4F.9IJLS)FU0?G 71:>>LT-Z(:,OD
MW9RV=5L?0355@"P^HE"SLZ!N*=@Z]K-F!A)6>F_*8Q)(V0=$IX15()^0J"SQ
MEG#[@5X"H'[7 7+/X#^DQ[ET@8&X?+ZN^5A1 )N&*=XGO-B3TGMV5T696$XZ
M(T4L9*\,M;U253_OMD?,I(F*2=(MM&4VBXY?W*;DLO7L\<N\JUBMS4C:G9'C
M&7N#3O=%Z3V]40=>C^L8WZ<CM)/$"CM$T=8MD.Z738K!Z 7Y" JR P"PYJ[$
M!I(7.R"\<1HG8RD[D/0ZSH5(,F"F0'^+!7P9N#K\ O*)W!+P"LVUIGD2!>D,
MOJP(VF#KXCKPT4#T\X38/M Y^RA0>)')B)\RUI>S % 8,JK8L)'2Q;1OX-M!
MA.)P6D@$8F[..7 /6#7-P\P%F88<<U7<):0(.NR1!P<*^"W(AY=Q\NT(E#]B
MW")MJTUJ:#L;B6%)TNZ*U+7=[PG:>0B$$%:JNA-.SK9<U1V4GE2#%O>"CJXL
M"(/_T+1>T'U 1 ,I EE)A8<)[PB5%OSN!K1OT"IH':5;^;2=(UJ&%81/A<?-
M!UF_*HE\\>\\6- 8813*_.(EJU3 U'%#THLU#1+@LO_.@7"!'H'X#))CGYUF
MUGB'%O0^?:KOXG2?Q<*#M]&JJ,> %D\^0G&S($6@."H@I]=_43UQ:_RWEZSD
MN<ZO(@*U+Z03G?OS /@$"#*BT)>7O_ZW-U^\.7_EO./SL;>7@@K:].2P#YB=
MH;=(Q6OU@[E=--:D^8E6S(2M'V5GDUV(CGGU 5N%]$G)=C1B*/*9==,\2]3&
MC)#!L]I2&PW3S%@?\8O:HXJQJ=\IL/2:#6VX9_Z=-JX15M&/(LV&>5:-FCQT
MY-!X$/ZX:QS1"*G\<.#4(J(-B.AVSFZ-8EI$/!(B[FJJ9!'Q>*SIUGQ:BPA[
M(YX6(N[*R[.(>#QA?6O3-HN(QV--]D:T 1%W)6!:1-@;\;00885U2Q!Q5_=#
MBPC+FIX6(JRP;@DB[(UH"2+NJB&QB/@^1.Q!JXLMIS[]CE,_:.3E@9-?MP%!
MO>@"OC1. ECX?[!> D^&+_&B]&CM3?> V20.\<-_/!L^NR_\CCN#1JOA3G<
M[VW)7A@VKVE*[.,4['XW+6DPK9V^$6IIMGBR!G(96'*QY+(CN5QPH5QM8Z@?
MN,9VA^-6>P-8'6-?=8S:+OK#I%H\3:@\^C"IO8#*XS3UVC>H/#BM_*CT^R02
M_ XFJ5J=:>\G).X;5!Y]LLU>0.5Q>O3L&U0>G%8L*]T/0GB<(6WWA\IAW(9]
M $+;&:6EA,>CA,=H;?8X0+CGY+EF/7!W 0)_5G6)&V3G2Q^KM%0?J#A/O<A/
MZVU[V+SR\ ,A).74V_;OK<[=_GV=NR>=9ML;_ZA&=CZ/\RBKS;/[P Z.'SWM
M=MJHY?R--S3_4?@8'0+W0SM_-(*HA5.,]IHXZF85C0>!&F85S6LDEE6TEE7L
MMQRQK,*RBC6OGTT?:-DD=-D&J2;+L8'3/* U^8C) TV308TSO1HE@7I&3 Y/
M3@Y@S/EW#%9H=N[YGM%'C>.1#G9([^8)Y_O(TAJ7:G5-S:UU$FI#4W-;R-(.
M@CY&EJ7M-/[+LK2&YSR=]&L?\M5N4#Q9-K8[371KG_W5]#W?KQG?JGMN^Z//
M;1BZ]SC% LTSE,?-_:]'21Z-^GN<Z=\64;)_F*]=_=UW7?=Q<_#;0KB/FQ]8
M#\LZ'=3+LAXW/=!B_KZ8M].Y&\UUMX3[739:_[1>(\VRJ1:<>KM%/CJL:=Q[
M%]3'&6IQ@N-B>0R1%X;QA&=I[6^@OQ5V^X9S-YB4TP:X;(WJ-@V7NFU$]Z3?
MLUD!EG[N:ZJ=VAC;/=,&6DP)[0K7M!A0][DR?7?4K_'6V'#?$Z,?RW'OF]70
M8D*P-^8!;\S [9T-+,>U]'-?);=?HU_:YF+<Q_-3#$YWU!C8 TC-:''E1IO<
M/S66<1P68SIU3T9=F]MA*6/=R*RQU.<P(JG--C-YT*SGPR+=8[?;K;VJXPDR
MM<.CC%Z-9'$83.VL>1Q;IK:;T_=D6&^<S3*UPZ",8>V^A48="3]EWC@4K<D"
MJ!WE?^5I%DQ7)M+Q_[U^@?6@]$[Z634_?/;S[UXRF3F#GNO@I!KMS'!2<37'
M_L&^EWE.D#J)@!,*W\EB^'$:BDGF3/(DP4<6L,?8=_(%^D-2?,+(A7$F19:,
M/P^B(,T2FJ7FB)N%B%+1^?M/04MA8[IY<)?.D?,EAC\"<,(0R-AUKD0D$O@
M$X V'R]UIG'B9#/A3(,4;HZS$E[BB,@'T)1@/W2":)((#X$\7CG/^YT3!R 0
M!G'DP K#XQ>.GPMGD01P'( ,PCG.LS3P$;* G#A9 ;#3+,6>S\][G3/U==?Q
M')YJER^<J1"T(WB@I]</(OAF% %2\;=ED,UHQYE(X$B$Q7_"N9>.-_EW'O"@
M.Y?._+S;&>A5<%G/F81>,$\!1%D6"B0AUUEXP#6 (E:PLRG\ <_GX7>/@9;\
MG-]*>Y@CS#SZW<L<+GGJM),X9$L7H J\YKW>&^<+@HSH8T)3?#3F\5Q>@GS(
M) )L+SH)<U^D# 6 <@K'1_Y(WUQ#+J!.XK9_"C9)UT5P!A,AL4Y8[9_Q7Q Y
M)7 ^[XWP+QW:)1 1/&P2I+S#<D= S$X<B:,,@*DI!B!Z#6_#W0+UPI8WD4TJ
M@"O@"?#<[^:+,%[!US^+# @!'_KBW3@7\-T@0S:21WY+L:NJ[>C2:Z8H[_3N
M5]H7I2M]VF7L&)<85DE$FH?4J5W?!FH]*[&;9MYT6D*FZX#$A=<LO53=*'@<
M;QG=K$ASDFU7DJBH?T)4U%($W))<6<9)F6L..OV"[:WS2T73:W<+7X):D,'A
MRG\,Q15@6C/UER:#?>4LPCQ57%8RV9<FAWUU'Q;;,89T&E-')R&0&ZI>,PE<
MI7H.$*X/,79T:_.G_K#0+R56!]WJ:-'_*HU,U7&FHTD<QLEKI24;IY*C6OND
M+UZ)(Y9=WA1>_-H+E]XJE:<\/>WT=6S@M=:T$0[.J'-Z^L(I?D1HK(%R[MT<
M&0"3VNE1**;9:_Z6^H@T:_79'6-A)5:R>/&Z#X;1 R&E<K$&AIKO.3-@KO]X
M]K<O'R\V17CXJH'XFGMAJ?^U_.C9SU](6 &7 !4(67>J=5COYQVHL@S53>!J
M@M_<UCCO(PA V!P(KI=AG*9X7X'C"MU(CZP(3<1L\4VP2_@B%:_5#^;V$.V2
MD!$>$X:CNK%$85Z>Q>H#IB_ZI$2%AM$DGUF_Y%FB-F8,.7Y66_S4#E%^O/GN
MMX:[+"(>"1%WE>9:1#P2(NXJ<[>(L*SI:2'"WHB6(.*N>)U%A!763PL1=U5.
M6T0\GK"^->IF$6%OQ--"A!76+4'$71UD+"(L:WI:B+#"NB6(L#>B)8BX*VG,
M(N+[$+$']73-#VP^E&FJ>B+>\+X3\7K'G4&S!7<_"BS,O+&C$A^$,/9[.AYF
MN!X086S'O<5[">\7E(Y9U_C4!I+::Y*/5A-H7A.XWS1%#80UZGZL&OS'[56^
M%U!Y]";\>P&5P]&E6TH5-<T(YD/'TP-2B)I$NV61K>BFO1=0:<.8]9V,AY8B
M_8ERP!^D]<?2%!]W1$0;@=!VKF>9G,7QOM;W-^H*:=@'5JH,.NGT%8$$$1PV
M>WW$']T%+OQ9U5EN$(XO?:QFHNID)YO%>>I%?EKO6)F#]K!HAVO_O@[7D\[I
M?@=@SN=Q'F6UN5L/FUY^Q,NPQS02":E_IUY8FVN^[2IX*WC+:*_IIF[>\KAM
MJ_:%MS2OZUC>LH^\9;]EDN4MEK?LZ#NTN03[,K+Q'D:S;.UU$-/G[N0*CYA
MT/20B1K[]K=JV,K]9M!T3VIOU6])_7 (I%<C=1SL7*_#86K-X*?VZ;&#0QME
MV!JF=A $8L?#[MC$WS*U1VE3OXU.7_;=_NBTWJB;967[3Q;#?JTT82?_/8P#
M076/WI/@YX:<F7W,B&W+3)#'+0JX-R_IN6>GO;U+[+#HW1&]QS6B]C"&4SU-
M;O2X0<M[D^O />N.:E=X#Y\;[0EZ>W4JKH?!CAXW3]ZRHWO[C-PS["=A&=.A
M(WI8ZY37QB??'6AP_I;!0/L;Q7Q("WS#<5H\LK)=,=L] M16U6ODGO3KM_.;
MOB262.K5S^L,-AQL9,QRTQ^*L.P1H&X)S(WZ!Q&8LT3R<$1BF>F]TPSV"/WV
MGORXT[=W-K#,U!+)[:[C.D-9-NGAH1PSQ0A5G*!J \K?954T?$\?JDSB -C/
MT#T>U)MU]02H^G#0WQO:P.73X%?-UJ76F-;5LXD43Q?]EEUM\C-8=M56>AVX
MH_Z)95=/%OV]L]J-^T8M^9\R;QR*UM!9[9C^*T^S8+HR4VWP_[U^D6L3E-Y)
M/ZM^@YB^$1&5<L9&\+-SY)RGCN<D(LW#S(FG3C83SC1.Q%4,F'/Q1_XH2($0
MG)7P$D=$OO"=W[UD,G,&/=?!B3^NLQ2PRB).8&4' !67_!&X\O-AY]@!"(1!
M','CLP"^OO12Y_F@,U*?.S,@98&O]")Z;V69';<SZ#B%/R2()O%<.%[F4&<)
M>F<49_"].+^:.5D,FYNF(JN\"U $7^%:$F<1YBF>"M9*A)<2B)R)SH6)\RP-
M?'B'#X01)RM*CL&;YDW^G0<\Q@P>3[.TTTZZD#TW@""0BGN]-^OP0["%\1*0
MLYP)/,U\X24 >( ?8B3UX!GX3A #^ADQWE7L.GX.'R<!; S.B _S&HFX%E'.
M6402YP@?I!-J&]52.*G2HHV DE3C"Z81@$/J3("%>D$$((C_$I,L=99!-L/?
M_'Q"5!&D:2Y2%Z$<YL@M'0$DLYB+*'/\>!EE<#2\7 E>+[B[U[ N !=@&435
MJ^#RZ@JV5TF\A%\1Q&.1972M$J3Y19XYWF06"%Q,?D9K)6+NH8\Q49R $=I2
M9-R2B[85/W#$:4B(P./IZPRPO/SUO[WYXLVYXP- \Y3P-XZO186"ITD\W^V^
MX_=\D!%7(IK _5@ G\)=O'S>ZYPI?O?*I:]Z3AR)(T2U0[,2\X4S%8(>[>E'
M<9.3.(H$$PZA&@\!B)T'$9[;^6><>4O'V$1SF+NMB]/'#._[!^8K+]_= &A2
M :"(1-'9J8$]?R'1!T2T1#R1)H%(3>$J@@"C/4M>^%+(/6\22&E%(KVF\_!R
M\DQ2=YQ@K]]%*EZK'\SM'\.>Y(3-N7<#ST89;$1NGR,#7I[%Z@/2 ?F34O3
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
MH&,;$.U70OQ5%"BK*YL!_),@_48MF5G/94%"(@Z[EFZC"#@W"C4@PI:J+W\
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
MY/RD=19*LI7IBHZ/0S" %#!)09K/<9XY49RAX4OW:B4)R6/QN^6L:@_\+._
M03,\F ;;SLK@E@[==3YJ>"$+][6*OJ$;Z$K0RU@AJ'HFR5V)SDQZ)AX#27G2
MP[",\Q #IQ-T\P;SN?!1N8'C5[V9"AP+6!'VRWOV!="Q[Z(V QH1QWJG* OA
M-0IN4X+;MR#R]S0N-[!Q.1N7:V-<[AS,$73P(9^CN(P4]&I2X]0+PCPA=W,*
M^TRG*YFI 4H]Z@'S("*U[2TZ^"ZE@^]".?@^LX-/BNIL*4!6."][_5<R1 ,Z
M4!#[RH7(1ICT'PZ1M:<BPV_#DUL87ED)>*?B8F^9<Q<N[L+$ !T&;EL4+T/A
M7Z'61B$MQ6[?*?DB5Z"(D>3,K) $J1(7949:%3M?2J]4#&WMU?C5E/Q*GJD)
MD;:IU25X(9PKR]%B7(*2 <2G6.,B3U(07/I+M(VW\237P:LT!Z!6(=,!R7WE
M)7XH X?$P#BB2 O!*8O72['E!^DD)W,3HX2 3-A%H1@B;'Y#O2UA<///Z*@%
MZL+<%N3YR36Z:Z.5EB;$05)IU:+@P+]? \W158.M!%D5QOIP*B<D1/4;PXS&
M7SC%!+_G+18A2&-<+O26ACO<U>*(['J/0]-HG].F2+F?Q7%*VRBT$]8=2&:Q
MV#;$:BD<*S"F#=+<5UZ "FIP@52(;X7$-,QB(,5I'H:N##A*[$M7.E.F2EPI
M)+1V YDJ:%FM,!= M&:$C0SX22E<ZI6Y F&_^%95";L3J&1N5BC09?J?>1A
M2P+0!W!I5 ;IMPYH^4RZ)MG)ZUZF5CI6B6#3&=)6,%^0WQ]GJ<$M8;4*[(M\
MHDFZR)N32MC"2^ADDGIA]:5'(;Z(HLN:.BHDRTX6X%1C#'NS,\BC/"MVK)"F
M!ZKA+,:Y;ULHXC9ZYCA?F9:=Y2P(10D^*IK=F 5QGI6Y^*"<N(4I7D#:UT$<
M:O?0.O-$\H-[+V[0MR8=>1L"/TQBG/)E1GS6+ *OX,H?E1.@OVE[B--*+%7<
MB$F.-HG'E)!(M@*PGZPE6M(3OKFD%*,IL.L()_J% 1D9I&+?<:RH DD6*7(3
MOB0-8*)IK.):%)(L2%H2&9)TP X[@"A<4U%X*Y7W0J)B8W0-I7<U'[""+\.4
MHKR/C?+<I;M 5[JT/D6S*XY2*<S(OB89N:(@'SV:I[@V^0F+S"'X/EP"T/=1
M%%6<X4K]D(? /\_Y<M)F-AV:86U2+9D]RT#6@54PB=R&(Z/40("\L3)NN &/
M#5KWB:##/#_I'.O[LMDNK&"X>HIAQ_F79/3J8O!5"IEQHMI$>B(R2]<9LPW,
M DF;CI1Z($5I(?HT<9KXVW)]**Q<Q&C+*<"D].&U3 3?#KTAENAT*O7E@B>E
M+)A(;CHD#TLRU1<AGG:EY"(?G@G&.#R>]BJ!A=&=D6H@=1Q0N)'L0%#B4%"9
M_X5J@!?"JR*R!10AX9V*T7K&':0FZ%)' E@!R8\%OY0$JDX0D^:]E%%I/IT&
MDX!42IPF"N>?D1Y34N[++P*@9JCT$J.!^S9FS4SIKOJ.8#(5OG^\\8:0F@L:
M;@5CJ("D^3@%:P(W-1=>FB>2IU!\!+\LN3A/4&43@JR'E(!IZBG$[,>PN,NN
MBBD0=^*$,9BJE$Y(+T?LC%%WG5#R&;E3X"/6DDCSPB^ARHTUM^2/*B4'-.J=
M4^ &A "_"F/BN]>@,<5 9 "^B%7^#(YR!="@/#Y46L( [#4?W9/*\"1A)Z*4
M67<57_@=@E9!B072QBO%0*5?,.;NN$B6&),*J [%!<1$8DF9A #01'D*0^4I
M+&MQ)OGSFS7I-ND@_]\<=,B!Z1W>&&/%/WSZ\.F=P3()CCI4.^%*!GH>&^'%
M"6AUIO'&"D5)&\&E)'] =1960:_>->=(JO0=4N&-D"&L.9EAO3(F ['K; %(
MN0GF[)-[WN\,BIQ9O>_+F4>I--*JH<_^Y24)\]4OY"2=CTFKJKP!V7,<F<O(
MW,SR*BQX!IWA2&;(%M*8F4.H?[YS0X:<J@ ](#TG\5!05TL=<*,8MRWK&O)P
M84QJA3*:IE,F36WZQY(43I7X:XHF/Z"=A*?GXY"9JG)8C7LX%JM8@FZ=<18R
M5DFU($VU^[NLR1BSIJ6H0&>]M,[1]@ \70EFM($W5M*&TZWFH,GR=Q43)U^:
M89"-49T#<YGDX1PC(\0UUED&R:_M<A*0NA9&<?XEEX1=!'0Y>%5$*2%7-_4&
M[*-VBV(?GI!<#043\$Q8TL4P(@M.*CB1'0'R#$[['ZT]XU<!W3DPKDQR56\!
M3 R8+BQL)'*#80IZJY!A(_,+E$^0IK1SN.(181<VAQ<74!=D>-?RA'75E,$,
MUO=4^^-<%L3P4SX1Q@$Y.P!-@&A&>-8"H5%QED>202*,TC2>!"1OM<IP.ZX8
MI*Y\TJ05HB$O="7]R]JGC93C*E(MR;_O5%.8X> CH$EG>&VPQ#1#921GFN*;
ML2I=5_*R7,4R8Q,@P9FD.A426"CGT5>T4!FR*O23C;>5?3+*"D;_"*5".I\%
MU1H S;Z'R^CTND?_1\85L@#A-T8.AM]#IXDHNXITNI+VB_A"-U%*SP!MI)0$
MPY8$_  7"3[,5A5;T,R&10W81<&,T;$424V ;"7%):#T65"N!/ EG;["E%+
M&@A6J,30?8M'#6T\RL:C'BD>M5Z*_7U*^+;1&TVX-\D_3-H36Y:8U:'M%)<^
M!+XT1S4DA5\F[#(C8QMY+*>ZK[,<G35!!C<ENFMO%E4E>;) 2E<E45@]B:\P
MN%)\6NC%:.^F14%462T!""3PFTJIA\WAK%3@JGB<,(?G4,RD !,PC^%#U'IH
MZS)>ATX)_@E$&.IM6%.@=\.&C]P_?OP7G*S0Y)%UQT6!FU3))"!2$Q*@M]WH
M?$,5<=H(B>)MZE.N\B*YF<YD^B&\#;AW %:\#V(W;C#/\ )A;CHOXPU$3LJ
M++:@@"A94+W"?"OYNTBS4&"00-I")B[C_,[W:PTB$<%\C!J[265%T+2*:WZC
M-V?3*LWG4@J#BK2.*#P4N:@I808,+XSYCHWZ.[(O#=&/OQ/V9 2-0LZIBB;Y
M[-NA7%:5![N@#^C2,1ECO648P.5JC #>:[0." *R!)^*NY)OC).I=QTGQ!TT
M7$4R1>9/]*^PRO%(Z90$<PQ4_U#!(V3_ <;WPM4Z\#O.[H3(5B'M6OGXX1ME
MU[:R\7N%@X$\:_*US 9-TC0ONP[WL&LRSY@G 0(U"P%YK8[=<<[1(5E6<M$7
M0LE.+N^D:[BY\0P@;REL4+!) 6I_O!)H/V1<,>5DWHUL.Z'HF!4_#^]>415<
MNA.[7XD:">X'Y>K6@0Q-7(?="&Q(7@)VH&&5]J#3U_@ H*/? *4<YHC.0>P%
M$5X)\G,6.CR+YP!Y3:0MJ2S))]HI*AM*;,A?GU)^(PM/C5ET,\DPT#KZI4>!
MDRI3<<512&#;!5\?5 YE^.=V/A2]'LAS6$1UIN9]X(X9ZAJ7#BCKX@H0/,2)
MFZ*K?PE2N\ P_TL6,*K]%F9<U=3'2@9O1;&,%"."V'F% AY1.<Y,82G8]A:D
MJ* H!3WAA[!$W:Z3,;H) [)*T1E[:9"J-%-\M=+?C&^2;P@O[EPYM&B7LF#_
MM@T%)M6-7.EQ7@KR)B%: _(R<XAX+03\T(0C/5?>%7[(LH =P^IT14))L_&
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
M,_&__]8[[KY9_U>G(JKS3^(0@?*/9_UG]V65O4[OI-7 ('<>GW_0<]= 8$G
MDH E@8,G@0NJOB\?_7[24+K,58KDXL8AA[RC\J8>& AW"<M;Q>.SGU_ZZ.%/
M9$0QSE,O\M-7>R0;;\]_VTV'^ &-H;:[TC 9_<A=PMC:OC!12RYM()>!)1=+
M+CN2RSD5^M<BJ75J\^N_329"3*>/:\JJ%(O:"+_I Y4H_U%,;?;$-7WNYS6<
MA%U9#9S$N(N4=G$+2LW-+Q)!_C)XQGEYXG:'_=JUQ*;1:LGYB9+SV<F9)69+
MS(=!S,=N]WBP3LY[X.K_H!-651_HO3$16G'U'O60RG=8TV5K\&8Y@U)]Y$ZW
MK.>>#?K[YB5[>D3J//XI]Y.<SXXM,5MB/A!B=D\&Z^2\GRZC#VH&IE2(G+\'
MV\,[SWY^V0/%+[!&S+X;,34K5^VR9.YSIT?]GC70+6T?)&T/1K4K7TWCV-*V
MI6W6Q8Y'^^B)>FL42Z_52EL3Z;NN9'.1YX>_GPV?K>;+VG>'_3/K![!$?MA$
MWN^=6"*W1'[01-Y;#T[LIP.,>Z=8PZA^PZA,\@,@>1SM&HIF[O.#ANT;/VH=
M<?V^"QS/IJG8"W'@%^*>(9^SKKT:]FH<]M78658,W+/1!EFQK0?N_??;*9!S
M2]=FLYUTIW<FYALJ[<OE\[LT)#<J_->7HU=WCH529_NC3M$-.HHCH<'J8&LZ
MI^MT\;UFA7Q+^UWOV-SZA_:U'ENNHZLU1:=O[6@=/-#NS;(2W3KY P^>24O.
M76I2BZU0@S3-!4]XZG!,_3N[2'M.X/_CV5=OU#L].3F;?#WM]J=?AWWO]*OG
MGQY_[8U/>\?'X][DV/.1\#SUC0^9F)^<_[_<BS+J>WHMO,B'7T/YV]L@G81Q
MFLLOM:=9-6Z<S?*3\\ZV8F/S7.19-T[FJ*,EPCD? \5CZ\UO(G,^!^FWVH?,
M/6!3[G-J-PL_AR*1'3MYWA*-V*,^S]3:5H0\- D;V&)'4FXB*B=24L_<C"?R
MRIG/-/<O2!V$=*EQ=T$YI[I?]J5N 0I@OL39&O2;EZQ*Y/9U),1$3#W_:W<
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
M6GC(D$-'QC=[9'P#\X+<'0@E=X.2KVK['PK)VJ863X5IH&JRG_98]QZS-][
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
ML=WHL!\<_AW'!OY(U,D(S--/-;G]-A._^-!4&P%K(@R,]U#J7O:M'/W=V[?
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
M7=>GIG 3@X$\/]_%OD0@3\OP \_4P52"5SW<LT/1.RAZ!T7O/$;O/*(D;B9
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
MT<3SZ5/0K;$XL#E$N)4J:IL(J=Z!UI:R6B)M$\KDH4Q^:9G\9&^?.T6E)1Z
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
MIQ"OK(JE LPAP"WKVR#\@>7#6<!J?IKKL,5,#7WYTL* 42!6#(+H@_;\Q.B
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
MIOO>LRA\^^?BE5-^T_[+3[/R/&:.YXNEF%6$VITI#HL"M(L*;+EYZOYFO<-
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
MNZMY82V@_$P<#QC8&HW73>$T+'Q)DX1 6U^1;&B9I%W2%A&<BJ4@6L[YQ7J
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
M;KB$]_YUPB6\]Z\3+N&]?YUP">_]ZX0+5O?_T!3_WP*7'PSI?-,J=K%#R/[
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
M S3#9:RX:'&UA0(X7$_W,H-4CV0@G6AT C&2(!.11/*T[]._0J0)D>9+H;R
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
M]'OE$!%T\TPR1811GA +?F)=2/!MI2TP]+%@3O\4!OI:9Q'/](B8(A2[$Z7
ML,H@Y[>\V7>:>*+ CGNU*B:C"U4Q3;<PT88$TRQU@[VVR0[]NC]!M!]R=[)K
MP?SDBY+O'O1I 4B5%4 7"C"B:-CP':YVGT&YH41FJZ54BE?R2KRD3K8%5>ZA
M9AO0V(E3=(2FKW+)7H@"SXX"B9-K-7\T"MPAZ/,-%+"*:SHW7PYH5NAO"*HH
MUK+JT&^Y0Y!T))'Z**W]%+&=CFX)ZNO%,:]G5$+'[NJ.W;UQXLX%/_=>?H!@
M\NK&4M[0S7/>WK)K@3PAC(J*76^UJE;/:!9F3:_=3#)")&.1!'%%2RC$AI^.
M#>_$>NZ]_ !AP]5-J/>P85/7''J2< S.YCHJ-4TSU8(C><UDZ$B,)"/QU$?8
M\'BQH'U/:$S8-84.G;XG=?KNE^4*,+2=4.GB[5MO;/=\J<O[PN DO3>;=I5V
M4VV(\R;#+^FFUV$E'J$((D(G3Z_0O43SU1 :0FAXD,#1K:'AZF;/EZ"A(Q:M
MQJ8!6&53)%H=J\"7 .YXS5C(")' (_@9&^A?3Q8D0H?'PQ!1Z :&(:(G#A%!
M)3\#@$Z^7ZXL,KF&0C8GXYH]X?/QYJ[O"!E))J@(3H41HA :P@C1\T:(SD-#
M1RN4!N9B;7!1VP0DT6]6BW')[SH2BY!Q,A+'/VH]\G@!HJ.[W [:*5SN0K>?
M"&X_;,WW/_\5 "J$TOY#UGS_<TZ7H\)3./-9L##@OA_>VA)6[_^4DSQ/E-8X
MZ)35,-"%CM:FH0J:Q6AC=FG+BSG0SMGJG#Q=X-&!T\,S7%7JC+.EZ'0.;772
M.]T3I\E((O9A(#,$B! @GO9XSQ,E-WX3('KQV-8H2)41'N5S!)E,UYLYFD$
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
M1_O]SU)[XINU'SD&^5&A1]?9#,G)L<W$INR,F)70Y5AA]4F("&%,X-FJ3[Z
M"%%MH>0T?&$KO:52:%NSC9XKHXOU?E#]2=:_/NR]V\9"U^=')Y'#0I1C\'1[
M"9&7($BH%8^K%6%IQ<7TY_%"!=>NV/R1^A]@9;_T%OA0^OJ<A9>^;_!I!P7H
M(W1&\S6SM(I]99E0TSVI5)1BN(2NJKY-[66(!L%"@_MM_2%NW+V$\ANX89/"
MVJB,IUT6+#=&<M999>M]!^'&5:LH ^9/7+&P,F K#3VG6Z=A@K?P -9FW;0B
M\PLAU^VHY#B]!)]6ENM1>2YT1V.'D%#CC>L798:(\8,1X_&")W="C)M6<WX!
M,>*&VK+2O6J#W7!X/E<US4F\XB+&5PLZ_^WVO/C[I 7=#1KBO%7SL6PN5&'S
M2]9460/1$>HS<O@$U"K#^UW6( @<-LE()5[BW@-]/#A_2QVQ5Z>]5*..<U_$
MESN0).B313V,%CKJ>2(+ZG&_7M379@7%%?4R<IORN"UGX=($.#@Z?I-9^Z?\
M EXB<*!N F^XK*&6J? WV4UI'O30T0VD8-X?C^WG?[F=D,#:[YPT,?2YVYH'
MJHUHJ_O6/N.#SD)CV^U2I.UL<:BM&.IHAQXJZV/S!;59<A\RD9'Z81L@&"8&
M-/2"*KI!%=LU=8P<-""V7EN)OM+G>.7'?8O05QW!, 1$+SC'F\>6?!3B&3C)
MW1S;0+0-V9*!R?HTS4&29EY[&)WI&K0Y_P!F+9O[=[#SA:IO '!3TG67 E6
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
MK:05[SDUYF K>9-+^CA'LLM]?"-30E[#T_E:B&XBR,9Q<&57VN( +]:-HA@
M/FKN!IN@@^S'B=,J=(6B;7&JJ\@7=;\574"7#PV8ZV.@8B/!=32]$ Q*2Z$_
M>7XJ&@B_YH?YO1>Y[JX;=9JB(IPW1Q(%Z(K/_;FAX(L\D47DYJ+!KC.J;MR4
M@#?D!6/7*$(#'[#2D=F.$G-'ST#.[]$$IS*<FH%*, ^_<L;)]J)WNWFYP4
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
M+*C!&%R.!2GHMAY#0+,CDN2>S7S!ZF@VD$<>!J&_N"]"$WK[)DS_Z* )>I.
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
M((2#6POQQL$.\UPD:!NGYA!R.ZDR<IX??[[B,U^XP&7]3&L0ETNH[V()>,J
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
M1;P^F"RT8GFB9U?QK3M3-]]^H'W\5'D-=H?4U]3O8'K?[<'SA^WY)^[F+W<
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
MWO<0_0(=(3+!R\$/V@?8'"M$HFU W$)S W=]5Q'5G+HU_ ;D<$'@&C@'*%Q
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
MM@9\_ZZS6>LY+)$_60I*"\> >K3<$[^._!6H)3OJJG*MVX%4L>)%UI9GR[S
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
M)7SK[>DVR+F6V*KP)-Z9AAF['@1MVYA/(+42T':7 M <V3;?V&GO2-@WPJP
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
ME65;G&SU4>$VE\F0@Q2QADO%4Y%DZOMMUVDYIYV%FW1^@QSG[]V9Y#ML1B;
M1F26Q@1SFN28[T< +9-_[I3K6@J59&.ZX*1$0LTH.3C#%2+[\4@\%0\WVX08
M\#N5+WP;X^:M&'"SS:Z,7&*%YBVU+C<JS\G>7)T"!F"C)L%&,B=;77\!I_UT
M_8%?-X(D6H(P1IC R+%XP*E'82N57\QFQK&$2[H-<9,OG<X\*$NXP,2^=]+
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
M)?P;6-^7N'*7JL?(M><_G#;-'9/[(@J^AYU2%,2,);Y34GR91])+&+PX :N
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
M7M##!J$)5C53HFOJD*HVLA"1,7FL7,).# '_3X3!B< (3746D&!7MZH93GH
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
MZ^ZUM 1F.ZTQ33)+,IN=LB69/6@FJX.C^Y[W)L('=?*RT.+ZN,BX4NNT#BV
MH+CXH&.'1T*^1J7=F(^-GY=P*V!V[5S66YXKAER:9/0V4VK[SY\URLF'?5G.
MDIK)DME$N]NHV/7YOB\DH0<HH3L_VE70;%8Y_=@>A&Y?>:J2B>C&NZ.1F!9<
M3-<5@",Q/1A6KZML5E!?OZX.6"$EM%ZQ6W62SZ+;VR-&2^U*M_OBSKZEVK(U
MT[3L8#+"M&6K3-RB_#WE[^UZL]*MT98M$FW:LE5\L:;M+V2VMYEVV+= D'P?
M_O:N8Y;O8]T*MC&]/I3]8"3?%'8?:&ABUUN5Q@)$>6 [PCZZ/O<=EWOICK"%
MY^;;U29<],2#\HVR'92G368%Y ,MFQSRLHEE6Q6K2YO,CD)"2[G)[!"V1I1Y
M!\_QFL9:IV(UNJ46/#*-A[QKK-VME'T++FT:.^1-8VT(+CL;7Q4^> $MI04M
MI8^O=VH5B<R/:-?8>Q[V>,C99]?SQ(1VC=&N,<KQEU!*#R713VM8)-^'O'_L
M0.6;]MB0_3YD^2;[37O(2+YI#QGM(2/Y/DK[?>CQR<%O)"MENIUV?16##[3L
M<<C+'E:]4VFT;%J8.P8)+>6NK[+O:RCSCB\J+78T&Q./PHA2#3*2YT/:3K;A
M%!:)Z5&(:2ECUU(&!HBNN@O0E<PXO8UYSQ.__]IW[UX^]FI&=--E,_>).1TX
M@M?FU&#5ZHK1NW$0N=@/]304'L=Z]$9*\%#AJZG!90G $R?P@O#4-.\T=T2F
MS-U./KK:$FGVK%FMF7Z@P&%?I"1F/(D#5F,U?.Y;>+#Y*^F4CD)U$H41>'P<
MB5/SPMQ27KTRF2=YC <CEZM(9[MJL8)#.0'\3Q+%[F#R3K?>GM>@ HWP9BA"
MP>[QCQ^P8(PRP+AL <UN0^['HL_Z20BC90,W EZPZ838E$(HKN<DS_$$#]%"
M#&>&5\<!30OLEK-Y=B.S MH2M+IJ'IG$_NU1:I.;E=8@6XK=K3CIA8+_..$#
M>/ I]^[Y)#)6L%.U&[]DLJY'A71@S6JG\PO+7F9JE!O-B#^<Y @VE6165YF/
MI/TSG\VI]:N9NZ8B8EO5UI:8DK/%TA[GC#%GPU ,?GOUT\WE^8QM5C?!UZ#D
MX8A[ZK:ZR:_^""18&IE@P,[A6V!YE!IM_GN.O\ND<IJJ<^3*&UY+GN!^179-
M-7 OM%W[)L"=1R@.+!X*QF]O0W'+8Z&,&NOCRP%W0W;'O42*#_P\#ET'#5X4
M!\X/8P6=8#1.\%,7#*/C %.Y[X#)=.,A.[L^9S?!V'58V^I4V:7/_LG]A(<3
M9E>DH:S(IV/_<NY/4H-J-2M@1U@TY/!0?#8\8Q3X^KGC)(P2'"0X5;S:KEDM
M=N6!8L ',_5"\[>7477[7<0&H!HB9.<?+W',3N#[PI%V78YYZ.*<_"CQ8K3J
M0/0[UX%A<*"0& '%*@SDT!F:X4G?,$@\;\+N@$0P?+@3/C:C9!6&)?)4PR&P
MG]79)B#L%"OR5%<WDLP *L@;5I?X%M*Y>M%U#L4_ 3&QVE+XZQ4V?4Z!1?![
MD!^09#$:>\$$I2V3.Q1OE$;0UD@*[P"X&MRCD$Y+/4A4[(;JFD$8C/)*4&%B
M,$!QA]NHP3348(Y.KBS[L8+5V)=@/7J(9Y['P%V#44-K+/R(2WN&5N9+6$WE
MPO4=+^F#A$W]"@(XN'#&[*52MTPN-AZ.FMG,!$-( Q,,N0M"'S>&RQW4KB2.
M8NXC3]C%7XD;3]B9\E \9A]5;/Z_$-B<7/A])H.B7]^Z*@)ZG(SGAHZ!H(YZ
M,$)R5&1E6"5C3L1\Y@,5<<I/IN+2'-K7O\G"_HX*,./0C"L'1E\]=D='HU&U
M.ZN2"[FH+W?_ .XY --BDC7FO83_IRJ&OP<RK0V?<P8R_2GO18$' <.6(^G9
M3$;NA_#E8Q-2.;"^W0P<,6)'C.BN2;<1(T@CCHP15M6RB!-%X 2I1%$88;6(
M$05@1*=:6[FQBQA!ING(&-&I6A3 ;I 33SPDL192[V[6F"C++_GT J__:#*4
M8#_)FI,'6Z2*$WCXX6^O.J^>2:%FO=IIF?7,-)\W?F"@*6Z?F:72+9*P\P@*
M]J8>DB?8J]\OY5JWVHBE$FF_ONT]ZW#1TEW;NU&E)XN1>= Y7-0+7;CQ'\*[
M$S@U? CWHY.%U#X,U7NIW"B)F?\[+3U;R]_L??Y?DU%/A&K.P6!#LSYVKJ_-
M4>R= ,3VE6Q//:K]7(_:K=K;E0!R%@66GRV!I5('JH1<"J@1>T8N!QI470LG
M"=W8%5%9/&LIY:#X818)PG-3&11X'5+@54[S0N$8A6.D)^4/Q_Z-6T:]"0R)
MO/!1AV,D"!2.43BV=ZFB<(S",=*3(P['Q(,('3<2?7+#1QZ/D20<7$"VF9T\
M) ^E#J6V(004(I'\'TF(I,0_4KL+7O_TAJSA4<=)) X4+"V6C L=/Y-$''6X
M=/$P=D.^J9!IS\< GK"+E8](\K<?*)7X6(BVCZI^"@G*MF.H$DM*FHLB6=EY
M@%5BL;D*78?$90?15XEEY ./Q4;BLCUWLCOSQ .7Y=>NA\+_-4K&\W+2EE55
M/=<7::%5/%]MZL'-UM<+L#ZWK*L,=]N<#NV;4AML"' 8/?^LKEW90@>A@^&S
MB9]*SVAJ7KJY_A"M_<][,RTCL"I.^46[5JUOO$'?OOF[![G6X=Q>Q6%1"'>6
MW"91S"Q+5AANEFK=<6N1F;WIR*R<[GGK"X;;L%=VLX:%Z<NVF+S5 *MD+*36
M6L\/G4H:)Y5,0NUJR2W,WB*@/8<['X0CL 8,LULRX&E16[1MMD7;@,"FW;;F
M*2?'<.+Q29#$IP/W0?07]2K(T<YTP% "-QW<OFBHZBW>R/0ZV$1+#9DA7-G0
M8ND)GQ=,8%6?JNND]Q_AR"XG7\*J"E,P]D[;]F"7!==/@B3*MT>1/7OR383B
M(<CLK?J,C\= ,"E.V)L'6T-@,YV*;N26M7";?2BVWE'P17UFR7Y%5M.T^'&Q
M,T\H!!-_)=QCW/?Q']>/@$/>2/;R20<V<$- 0;GOTK',-0J"&_7E1Z$8<=?'
MWTS=,W>AX,X0FP)E3\!K(P%4P@XR/NAB&&&G)?V;7#>BU/ ^L]D+:=Z+-,\N
MFN;=W <G\=#%5BE:6!ZC'L;=J4]MV=/(:JEV6,L;86U#RZ=5>UI].O5*O=Y(
M)S0],*,W)5&6!0[^X)6E7C1E29MXU4T3KYGF6^D!'.SCI1N&@K2/D] 9\D@P
MRY[M;K>H1]W2CG?3+4@!.-RYH"M>VCQ/]9K3O[KG4^.)&&<.CX:>B"+FBQC<
M11Q[NKD87!YQU0<//0F,+?%25R=87WBH)5)%K%JW4K,;2QKT5=G'M#%9C&VE
MS @J4\VH@!BRI6JN;9-0;9O4W%9HWN(&G;);5AI*%JX_U45FS<Y,<ZTH;4&U
MA^&>2<Y]X2"7R@[7+=.4\5X >_H+N]#IP,:$'T$2,MPTV&<7#\))9%^YR\'
M=<"@5O<UL]6,F$[MLD5\V2=;_A2H,(YLJ;FL$Z!DP9Q'_AK<Y3RRZC)H-=AK
M5%\T+';MW6K*G%]<+B6'O('U[@W:(.'?\ELQ,P!L-H=/,I!0MIP=NF(P+QG*
M1@& 'F7V;\FCP<(%=VX??CWD\<P3[UW/P^Z900B^V@TAK  SB"829+(78)M-
MN+GZ(@@C:=5DDSS9$4[:-/F='BM^H*Z";Z,$Q#L&ILJKP 3*#_HBYJZ'=C3[
M,=A .0H>!3Y8IPF\!"L6J@O1^O43K%9F;.H83)]*B."'ZF)LN^="( *#D(\9
M!Q!$19655Z(MAX<X($X@@F"6#?D#2>(5Q,>ON.P B'%4Y()(\U!.$>15@8B8
MQPG<7/=7U:YI;]I\-=/O=9FH5&;$ W@K8-Y(0 /0>NB (^[I4._G>DTF]"O8
M&1%9""K7F^28.R4_LI7FSW:[J2Y136!'?,)Z(G>]:KB)DH/#Q7^7WK$BJ8T^
M6GH\U'=08W$BKU(A*%I8';KF8PB]$)%SP"CSY\H)7Z,3-N-;@E='08*F?%&#
M63FH/+J,DEX$E\D@X3[(A<MN%KY,MZB5ZFV\/FBP%L@\LL"P0 Y%,]7QP&Q
M" !B\$/$^AH>+0C(9[@,-^)>!#8)I,G%@!P5(>,XACML+$+L^2O[$O<"'Z!%
M3_(J&:/J ^4&K@]?NO#[_$_A\:#Q8*5<7PG&"L,2@_@*:;)CN"W.JMW\1?K7
MA2AG7AX-P]2-I%0\6BA;M5\6D 48YD)T)]';F&,L[HYE6V?9J]A5,U?N!02C
M)WPQ<('R'L2!<DI@>8'L(_5FYGX#O/9>B!^20W?<4:U$@7IL(G@X.QIIJ26;
M>@C.W%$/=%JH-LBIZ53&QP>MC1062^*38' R!FD&@H@'[%@J)%62,%1$&;HC
M$Y_F&0=#6F=YL87N,N<DBQK)FS[*156,CUC423H47J") V3[$[1QA!D=$8*U
MXC!/9YA@$![-&B]I%:1<YZ@.%[@8+)OVVC%P+PB15A";RZZM(>C)K8[3<%0\
M/P".4;DAT,]U!4.T*Y0V1],MNV1G-G^!F7]<>"#]U;J<@HJGM)^7)$&UDKC%
MX^X(98H-^%T0SJ"QBA$N<2>C+C4HL!6Q6/:DZ90%B+")O!P.C-9!%'LM3<M
MV16@]OT;IEKU3KDO; <=28[D;HLJHV]Y&P1]K3XK;LR12!/%X'X2*E0&5L=]
M. %O$4OKZ ;]7#=IB Z&*$9:IN,P\"IL*)06@P+G15([69;KK9-#9PX0.L3E
MF^%LW@]YOHUN04O7:.Q&MA2G XMV;;8CT-\>M?Z1FY5>"K%EXN)6G*A&2GP
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
MX@&/YL.0R.V1R!^%V[M,XBCFOJP&=:F*253(Z!VK_R-I.'87F*T4J8WNW\3
M$TXL:Y*14R0E. JG^*<LP1.KZO7?\!M:-SU:GTC"<.0N\3SPDI&OW.%K_N;-
M)MR@+N=D2L>-'[!RI-MGIBCZELGQ^,G+DEOG/!:W03@IB]P_AN,OV&BWZEC@
MAIWDGN7D1<D4_N: Y.51!T$WY@[+S/;>T;']18ZOS*QV-N,+]]Q[Y6))F4:(
M^,;C,+A3I=!UF<T)&\+D96'S0VE'M %/N'F_5^B617F*+6W#J8K[4KO5E9MG
M]SV=GS>WX;7\(FO!/ Y-7@MFW;3/+[*HV,VV,ES[*O$]R[5'IB$X<_N_O?K>
M:7=MWNUWOO<&O/N]X73L[QTA:M][HM6WZYU.7W1[\("WW%SQ*18CJWX.C.2N
M_TU69 O\:.B.013Z\KWHWX3<UQ?MHTYVGAK87,+CDU/7ERW>>U[@_,C?#JL\
MJ_>N#[3*UW>NMQ;%=,^=@GJ+-P(9#T?<F\^IO_H=B6MZKU15L*@XMBJN7!9T
M:QZQ*2:IM)QB$T,^1=Q1"U?RFP^ZYCW[!-2 ^ Y(DCL!MF]FYFBH:]8O((>9
M''9GF>2GR*X *3B3O!+L84+8^#7.T5VV$6"A'C1VF,'2]&G'@;3*O1,GV)QF
M'&"1<I=[LM0]MKUS,>)V G\ DXME=707@8F(8EDI/TIZ_P&6RMY%,CZ'2R$^
MQX+V9TG?C643!3>.A:BP1.[FQZ_@!J.TA/[,[[*^/$,8K0BK["R2 Y?/AB&$
MXLX%XL&[_+0F4].N++JS:;3C(7X0/R(<=-"30@RWE+((M[SEJAO3_5!@0X#Y
M\2Y]JB0(L.:'B$]Z/!)][-PS/PJX'GF S4H2[ 24E9^OR!8!X&_DW7!T:@39
M(\"-"<<=N X;<-D\0EZ2HPIJ6<J(E22JYJI#YLI=.I[@(;K.H98R X;KF>G:
M;+W+I:#7;F2N4(MWNS5;T_)OCVIKF9N5KA%J2]]^"S9;E@+E WCP*??N^232
ML^QTJG;CEZP_BQX5TH$UJYW.+RQ[B=28(R66_<\1;*KRO[IJNO:__FQ-/5+-
M%6QJ8EO5UI:8,F-AZKG@E;-A* :_O?KIYO)\N05=X(7T1Z]^OY&]%&2'%=D4
M(4J-)O_]$5(Y3=5%Y"J7)Q%A!.J>]Y9[=B)_FBXH8./O\16PBONS%C9RT6">
MC4/7TT&%[)=A5]!WX,_!"@%WL _.U'5@L%1KE%S7$W8OFY%+*X4MTK 1"WZM
MFYZY_EW@H2-2G5GAQ<^679,=S]#@I7?D:5>=RGSGG8I.%N%L1H%\ '"L^0N^
MQP8A^78_%3F!K(,;CL4=C43?!98QQ01#%?TU6'%Q&Z#G&$N&1H8,RHCKCGJI
M/9:_T2WSV&N8?5\,7.Q"FWG),/&R1C/7%^=O8 :\C[>]=\'-#SG,S<P8/\7^
M[?(U>!,0 G  QE7OKZG,D[5B28BX;WT0X$\3Y+V4A-S0C/1D[9S0A\N>CEC>
M0,5?>)'G1K(QG=S2!3%&RMFO/.KSOW2;J2\R?'A*%T9U^71G1[RM+T,*$()<
M2R)0']5^*# :@T.?;IT6\K[0X;J*=FX3'>"C0H\2[U8*L [RLAU*\HH+\P 9
M[D01QC&O\7=F*D^6!Y![S7T=&+ZI:HJE@:+2DU#(/F\JMN6@ _\)9(984UGI
MLB0ZE[R08>UT\Z9> 'S!7V3,'(%PL+\@-@8)P>Y >AZ9!,05H\1HP<#2R%CN
M3H!]Z N,&Z52:VK-/Z#*U!E7+01R*F  E0'64Y*-Q+2V+Q@BSB*4+</DW/(3
MSPTS_\BTY:@'QE9&/KF@&N)CC!I!X+%57AY*((/#*;37$_&]$! ^<Q"ES/0:
MPS=@V+A26TO- "59"?R+H@?@PX5?RYZ9LL>6_!:_R0\=9! 9IIKX]4!03)](
MU">DN+K9 MH,I6%-V2!E(Y[J%97^UG3F-.1<+4.+GU?1C4,74-WT<U/WX;+Z
MVK0!F#,0IV#+X'DQ.ZNR<Q@2'R2>YU;8F=\/@5?PZ6=Q!QS\YB)4ZK/K*OOB
M_".XY[ZDXI_<0\Y^J3+3)+.:3\WPAM.VG4[W>U>T^M\;SJ#YO=>P6]\'W4:G
MT>XX=<OJSJ=F&E<AN'UWS+TSQ0*0DH]"8';F6H1WX&>CC:9FYBS"$>9J&OE<
MS;)T3,H7EC&&(6>D+!C>%*,_&W:SU>W9I&X-<)A8&P@<S$!(KR']EAHSJ#^:
M2-,#.722$;C'*WD!J(^:_@3P ?@W^&'_=*/]VC3<DJ"-)W%@/E"037ZRXY9N
M[;K$B<MSU-008T>M2>QJG=HF%8$1U*RG((SHRI09,6+OC"#35!!&D&DJ""/
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
M*ETI^%V%]^#&;>[=\U&8/9*;51,ZJ6X@'3A5RVJ%<F!'U6;S)S;YB-*8$>6
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
M_L0F'R>/VEQM!ORADA/8U.XER;>R0U)5*3VV8-?B7"AB&M7C#2GED4%;$Q5
M#Y>LOWYS_>WL21-<N'KZ&@,V-?<.9_'Y.+-^^EFKG);J4^)*NVVG;C;K-<NY
ML>R&?5,_.K)ONL=-ZZ9EU'BW9_5LT36FNNW.I]^^GE[_\^JB<U-OM%K6]GKP
MF4#W<3\RJ=JN>K)\3(2Q!L80KLPMVDC>J$W[7@LC&./HP#E,#F3OV$X"E'%P
MDKYH:[2L^MNTY%LWQ(VQ(@B<0@;QT(BIT5DG"1%DLK(&Z@$A40BUAQ/PZ,>A
MVZ[H<Z^'CWTL"#H"(=,+X&\I8A^^I,J#(+D?2)"$D_3."B+&_4BRY13T(1X?
MAJ*=?<C+#STO[4O0).W$E+-.4SDY!N+9@<3%U9&ICB!'5>DUL_WL"R==ZJUJ
M:[-PVGK\ ,IV!%MFGJ&ZV>&2==2Q#N![O-U:7@N[?RF%[:H@_2S=+%?MUKS*
M!!S90H%MX7$M-5=\1PPCG"2#_MY2R^26FWC=NA%\&+57L8 =[D,XTX1WX3OV
M =-52,Z^5-EGU_/$J# &4^Z>(K43#-!W:R1D()K5<0>/DCFI<.8,H6]ZB.*%
M@Q(:PLV+V 58A0_4LO&,8Q2G(,.HL=^41%(XF;Q0, 1(44.@?L8OZ1VO)B"$
M8Y;IXA.;#[D]&>0-DJ.XWCR$2QQ,DE0,JLDJEIOX^/%ESO[L<I+<N$&N9%PM
MU .!9Y:7_5W!G7C:R2C0/4AHX0#,^#SO0M\>1^G<S$S[\E,OS_<0 ZB1)\8=
MV?/+!W;2NB-HDMJI&E]+::M/\&UQ4'M;@5.'*[<\IU+]&KU.E3Z[LJZD*C6;
MU6=GCW55ZC+!D57;^0;ETX_;YW8,[T#=>11+D=LR?&W]TOK;,CNWLUQ$>+1S
MU;QFJ_AK-_)65=1FU_&N6U%)/U%@59U#OSFMJ16[D-TSXXO5M]V^82V$>+1;
M.2^PL)4EO_E%^^NJ^1R7+X(V"A03/#E8>.J)!XZS8?C^MU]:_]ZMT<S)2?R6
MG;M2V%$@]\J[=UOMYR8E"OMT)B_>@N4<7$K7M]TA]V9=^9 \N#"/8"T-G1R2
M(N/2>YYNP>\S$Z'DJ.N.?]-5V/-G',E]*?1=ZV(&\N'-1+\3'\9IYE/;#F)?
MI9JC8'CGU:9@>$_]DX+A@GF>;L'PE6OWN718I\J^V+\%]YS&D385#7-7)DN[
MR%TI^'V-_9//ZF;TY*YZ/%VUM&CR//*\TGN>=G%M  _]B)U6V9ET0]Z+/<\E
M7]V(Z=!R!@IKUQ+6DLMJ9_;DL'H\7K6T:/(\\KS2>YYN@>VI[TCX,CPE/XOO
M-.U)(6U)_+24(2TYJTX&3ZZJQR-52XLFSR//*[WGZ1;,_L$]:".NXNO8?>'?
MK;0PE#R5 EH-?;64 2TYK&Y&3^[ZZLSBZ5WF9$_'U.#+;*2R@11JZL]\DHGY
M%4_.C)_P2U1>DVQO14M!;ZXS!7W:P%Q.^/1(/B5\>@@?!E;B+(_SUG\/7&=.
MVOI)AJ-NX(S@5S\:>.__#U!+ P04    "  =B2U9BS/MG!9.  !=90  &
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
M;57=6^FB$:#4S762!0E\]%:ZLKK_*Y(#XY=_#*N0\W*V4? RO@%.C2SD4Y"
M>>:A2@&!$&/UU\KZ7T\.%YH!@MEA#,"C+>Z$L?LR$Q)1>QQ9SHUS$E+T;3G\
ML QU4?<'-VYS4+""&8F<8E1A%]VIG+#1/9C4B58)./WC\I5NIC9D.TP,K\0Z
M:<4N9)K-*9)*YQ6[*2;VW'M1+46S#R3--JA$X_$P/HCW3<=4+B0_]&&AN7*"
M][S+0^?':;FIET>+1'+#LA;U'3RA]C2]RZB0+KE2_?MC91"J=39:D32B?G6L
MSQZO1HQ:JJ#%<.HI[IHE:[PRB36LN@AJ0Z<4LT;+)YQV$G9OZ,P4Z=X1^VB#
M8\(V3[II0L,/:W6.O46+Q$R5ZI*>C9E$$W-&/:%IT]5@6S$'RPEMDYOPA(JX
M!Y_?UD"$OF9Y2*HWS58M+>ST/V=G*Y8;.V)ALV+U4WL^WB1.JQ3X?/S#^;[M
M%MY;+3(^H:W[<GQ]C>**1\Y2E.S9$<!_E*U_]DOENU'2:1@35^[N>\C-^^Y[
M1;"C6<ANRWW?R#SWN&;!.HIH?E-CZ&)#B S;Y&/B>7UW2FH #5FR/PM*]#K]
MPRY]2'F)6='<PAX%GUYC_/+>@R2A'XM\I;AIQ-@C#AQ;C/[+#/7I<$)K!CS(
MQ66BNWT^OT?J:P,A&SR]!GRTS7AM6;T"*Z4J\I4KQ7ZZF<D;^.>;Y1AW8_J[
MX:09G,V[\E]R9E$,S=[=KC^IZ8KV]X=,H90_A)8Q()H5P>N3%1<&(M.,U3)7
MA\2)]W')Y&A88_RPT*,73Y%^T54XR-)UTB7SWL[\=J!I>Q6(:,6PM>UKZ77V
MV_5'=-.G:IM]I$WAOB!FG0A;XT%;_)6H9;ZV$_N.8[K=#'K(N3N-4'0>MOU1
MJF[\T+?8!<XR,J6PEYW/EO!*HZD^''8Y<>1D7AI.< ND<@G#S-8RJ^=V7^TX
M@$N=ZOC0"3!]!_N[;<Y\$,!EB?RKNPR!_045D_F5'D.6":Z+9JI25\O2C=HY
M7U(>CB$S+S>2_K%#+=ZP#MR6]^9^(@;RNE/>3R%M!&IRX_=G>,H$H%L4]PQ2
MC02U>-]R7-N>O7/ ]5-SU)\N.ZDZZNIZXA$P(ULUZ1(\=EBK7-(OB*,KZI;^
M/6>SCM-$DX#E9PU?=KSI#E&NI:[V)4.T68%/N1?8AK23FUL&AQ67%P][2OO9
MN;IX2<8XG-H*3@=IG0X'W^X?$_6)'R1W[G5D\W4?/SPM9I67\3-&K8HE1IFE
M <8ADLAS;!%B*ZB3K$H@[%.6NX<*GYHR^"S@'*2RZD>T1"5,7_*SQ7658X0
MIC#I;;LJ+H$M>"@R@)>Z]'AXR=3 B=J\X>F3?BGJM&OK738VI]4 VIBW$.U
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
M(>\[ H!NWH>JK%ZB,Z*S280\00"U'*,[I6W?@I!(AZS]T+[&N@SAAX.4D;L
MVO+,A#TRP@"-)K/!T1' Y9XD6 G*!@]J!$&0:%ROG:^A<9<:@*0D_HN2\JX@
M!EDY0U;RX!9?)3LDT?OSU (V 03@MH]U=N\-VJJ:?PSL9[(I?&5E 9Z* -*T
MBS44-[]0MF*#5CE@(=7Z'Q=()&&X1EN>;Z'W5DUCH#G<?7?M[?5W3Z_NV!E1
MO?&1)X3,;/1FY7<3 GA6(17:(\+5%\8VFCUU\&"&*7(X^:7RYZ=/^OJ&QRP<
MC+YZLC#R7A2O0#(\+&Y%-28EP<SCOAWYOVR/[=J6*!-MV)G($NN-J4B?F1 Q
M)U\:HL&]D:I%B;DFNM7C10!92'.V^@H)/9_KH$]62Z10/03JJ>XV.M7N<%_K
M:B$ PI9'UA)J:'.QF)*>-O9L9Z9ZR89"D,/HC&1WYPJKI,N4'.99-:X-Z^3@
M'^S,)K.QWYFB&X<]RHJGG]&Q2M!H&%WN(<&=VISJ)\PU%P$<;L,MV-L((1"\
M& P=;H^^V4./.]"PU7IG"K%!.R1D'F6"\7W=S<<;;0U9MX['(-3Z;WW" P6]
MQWO.'.!T<CFL("ZI_9ZR>@1 KJ[OP=*E75[AN!HM8:'A-SX[7XFVI^):HS50
M)EN<</O+DV5V7;[K&)?IVALC_^.JU67FNCR,8P0G'K06,'Z]C[R#MZH@W8/"
M@L-BI/"WLZUIHBR!R6!00'Y<AEK(O-@G-<YYLSBVDR%^.+E1@.3.5\MV*$<5
M J YWDNJ++.",TSD3PKJW=KR=1+CUVLG<&K(\4=5/P&<Y%]K7D2L#,,O><S4
MKK47'=LAQ3"BS.N''WG@N ?MO4VV3YC'..]73K1(/@C^S%2J-5V"[M@K_$Q3
M&W#>W5=V7N<AFIO=3:[>3_E \3&GCSZX.]FQU/W#.GOEDV=.7;&4PH>OGJ^E
M4ZP;I<I$:G]/U@O@D3 0Y%9?[&-D%)5/[_ UVXAR$K=FT\J3M?K9KO7&F&J?
MW,2T<!$? 717'2"/;/85TFG-6"G#TFB@_@U.<[_!Z?@W.+7K9G#L6QT5U'U:
M>\3]#M<L6)\R2DCIB%[.P3&CH6B?>8#M/R$AS''@_PUGU;_A; 4)9[ZU2#@K
MH#\?82Z:*%>_%W P]LXK30*D>N$4P8[V]9_=6D9B3!=+7VW0>3"8UNJV[(@]
MBR"=,IVF*QXTMKX1Q=CTN#X<II,-Y5&R53.<XA+P$7][O['EJZE*7_;&!=MX
MZ3_XQ/J,?9KC93!!L\(]FG-?VI;*IK,/@GA)&G8/V0>KD)'T(SFM=W*:,9"J
M#$NT4<F:,GYKB2E".P2POG(5>+7RR#XA,W43_636/*E+O7;*EJ6IJC'D=/KE
MYXQEJ9W99\^,.S9HSGA"YELDV"8K!,5?JT:^C+Q%4XO'HTX@T5T8J*KY]IR]
ML_HAH51_.!\FACRDI%N7Q9M^_. \VD(Y1+FB=G:W!&/2NHS74TF>@O I2F"M
M)V!!E44D%=B;P=#T??+XVXS+S]*:/H^*(].6Z)P:%VK71/].<OKGIO0[F<@A
MM=\G>/)G7/H_U#Y5*.5^WQ)MVNQ.+1L>WI5$C[HM7M)Q>'S ?7"N-XAS[Y9(
M^ONX+4PJ"U87@S%\^<EW8#3]F#GA,Q97!_F#X:*"N;;*$FM^U@SZZ3+!5!]2
M&:?D5VJ/GR8372U[\\M1/I3"T8\ KI:<NVF,0@3F!.DM7M6,NT#[B=Q]1+I(
M21U0W)CPXX'M5J'][GGQ3WD%NS,B9=%MWPI#A+3B%[,'G<C,HBQ5C= 2:NBT
MT_:7629JOGI3NI?9"$F:C[*=NA8M'^*[/;4W'Z15=0[Z:8+RP?GQ^C'NZOFF
M#\>+!,5V+INRO4M=7:COLH.6%4O$YM(K04DAXP'1*#.R@$5UK+:*R'.V]O8J
M QM5FP7,:'NNX$5S9=/[J$^8M]G?QM4_0^+.QQ,BK.<6I?LWJOY\79Y%;X6J
M,I@KDXGJ.,*=PT<A6B:FKO@2KM1HN(X[(%P[;NXV!DLG_>:!7GQYUK3J;JJP
M+QG74J'B9QGG*-,:FN6FS58H 1XF+YU8@QK9)+[UV5N'/2]R3&U6@V'8V]]8
M72  <2ED?/A"))FZ&>G)_M"Z1%ZN3*.S2>(]??.C"23*ZB%-O ]H1!V[1;'8
M2H0[U!U4KF9KDZ?'DRHV$X0=BXK-)N;:*W[RR:;'I>*>A_*MTF"O5M-TFO=3
MYPKEPCW^/D=:W=VSGV8;,N9Q;[-%/_Q$WQ#O#.#[D6G_YPJ:)-;"6WLS=$@_
MM]J7\73<3TQHHEN")+2KC1CRJ;;D[:[(3L:()O&(@.-2%QT_9U)199A;W)AI
MF!R*3ZG'.N8O&LJ.E4A&DBCB.:B>;NK+NHSNV1Z"FEX+B^AEF4#.$LKD&@4I
M]%^K#+[VUJ<54 2@6(>4UPT!K.V*E<G'G)<8@<[-D3<I4[=P0,,]\ON$S1N/
MX=;;>]YT,_ZFX <3FY*GXYVG'DBO!V4%B=[TY13;<)Q=L(&$6P.D+ZI% SP8
MX/Y(.<CU^0*M)FT RF:TCQ3SI,?05$7[#3_H9*0,E4L^:DGW%NDY(@TBW<W,
M-_Q!:@)R[3-WV)$+IXKEX4/O6@2 /W.RT/E,@A*ZZUCTX39NO[)_ (N*43C-
M% )COS4Z=%R=.-/UT.O#3M=YZ9C,D+/E=WL.$]6>S/['N<<VK27/+FP6X :I
M)P@@*;'B\O,F3-<AN51[UP1>S78B*YE\_?;:!DY3OW8<K#I"[HTU98Z+]=4U
MMZ6,])(M;,.P_?!JSWHZ'0%@$$%H5"X-0%UP5LC=VMUYRO33-PB@K\NU_[;]
MSCX?5O8<J3B[]K.#)<GC3<U) :UIKNBVK!37<ZQ2;0I#DWOG%LPQI:O;)Z/U
MT/<SJT<,TY'0HKLA>+U8L\Q=E03A_BJVMXV-]7:QD;1@FR2EE"2+84P6[#FD
M(N(+=^2:+>-;T]&W1CW"XI(-?9.^KCW[*]6272.D3VQ6,#ULG.FJ%ZQ %N;[
M4SFNPELM*T;(V-7;FV\:A2)N><?O_):@.^93J]AVPL407:/+Y>?UO018*8?Q
MYE0%TEV+6_&HZ,X@/J&,*741Y]<;/X2]SE9V="3C52-NL&G,BN=A9Q*-N>EB
M#4*E''PUNTUE2'$R$BPF2)!?Z^EC99&SDX*1D>EMX<H@EQ5U:_MIW=_AZQ=R
M5K[KKV)"-L&1E[0GC"$=""!(>5T[W$70J!F'U):E?&+S5R#U)8SC7A_!K:SO
MT+R [Z.6D[SD&&\N8Q&\?6';CM0!-MHO7ZZ"?_9N.DF;L1(3TCD(V C2D$_8
MOY^(V;7OSI.YYU:@\73;Y:-=D0]XT#Y8?;>-9@;&Y>D#<G1VM,_7;]('6;+6
M8WI^X*)Y1"DIRBD]X8'QQ*^+XYQJ&--#_$2_PA^FWTXBQI('37@Q><CM,B1'
M(L!SJ=6_A_O][)G9.\U0DU*)U'QZY32#>:23APR#)]0*KG<W!K@)>I6&Z&P%
M#@8G->\1Y@US'TI"R%N105'!!.P<7R3YV=^ X[=5SE0[&W]AF%WXQ97;T=T*
M ?B5_3:R$IG;6<:3C3U+!7#4^O8[@1M0AA]E8?'#/Y;:H?HG*HR];9CC6BM:
M!\V]?4.6YMJJREJ'GUP3['>[Z.PJ*[V>:">'*>.\>_IK?\,1I/7VD1QY_G,2
MN<7*M4@DD[4'W5B=9Q$!RA7X.RD"SO*%.H8[(I_B2N9G6W.+'E0;Z0\_].)P
M?UV[&'HZIAZ_K(PR$&= "RWHG&E[!!F.G4_*=%WG(3AJ3AF8WD)Q=?5Z4-U]
MN9?G;VYRR%(O^Z3(1)AEQKM,GNWN\0SCQ<$*S"FVJ\BMN991[R\<40+.& /K
MGYYZ;/?F:$#@.;F&PTG:E*]6%#\LO^^AHO-\/2#5BQJ57EC<N(I[,9#]AX;\
M0U]M4[IE0G&7$<#YQ"[\(_#?U:MC3R$.6>M0M7R&INTLJ7C,%\>%6OU_,S__
MJHN^VUQ8X_WS*?WWC)W%_^"KO#64/#DP1*^J,INPJTV]W?U%44=A3ZK(@6YA
MVB2O"3RNW+A#R2(83*<8.'M3-6GFKW+QQ34 K*BMZ8#VC:4X[=%C)[XPQ\17
M#YHGLMI2YA4#*^L2AJ)?1)4THZ,.$-)2]^,38J,[H5#-^ H&+$K3Z=KE>7D^
M*%B@&5A&V98)#2+%9&(1-2.[]Q/?XXW;&TC,)RXQ/>/"EQ^.SKW2A38/>4I=
M!5\D3<NJ0TVB^J7EY/%+?Y1\^NB',C:F3U#0*\Z]K]C8*F)>@%<LS9686T29
M7M@C>NUV*H4>9"*_BH/+N]J@+EVP[&TT\>& RX+&O$#LB)OA=)@\:*B@SZ[#
MCC65#X-9B(F1*ZU.[L=Z"G!05K/#Q6VW'269Z@+>M(C+C/TFI9]0*\7HZL#W
M=IU3L5H?Z72VF-J#%T1Q[E<W39=?X+S0TJ)QC!QN$%6.SY=_ 3!7D_["Q"H"
M-B1[AJC+!<"V&)N;B9/$^BJ%,F'WJQ07^[#2J+L"CG#!Y!&K2?/"683U;R:X
M:E-Q#BJ8SP[9#.*[W_KM+ZD2/?Y(,AH@W<^J&20;34XB4QR%@080*:VM0\N,
MN0[/<?+VXN6Q,B\]UR*$,;.8')(9+62=6;[\W%0*\6;D5(S8/^ INU"F]1I4
MU/+2"YNVS'N>Z&*<:'P@C>G'EAW!#OQ7I7C^4[IMR>Z5UM/O#Z;2)U70(4I\
M\7(_0EZ)!N"0FT=8+;S!ZFW'<Z6MF+NW7CO296#N20M& !'FMZK^/J)FMGFF
M-2Q/BT1-[1UIWV$*7FIZVA_20^0&U^N[;(9(I6+WIJ\;)[AG0<4-N XX\'6?
MZ9O *5EDB%GUM'=_)4R"K@T2&@$;!#% =:+SOY%W=%?W%I@,^+PEJ;PY1;/8
M1FU-4[HY9"SK6_^4</?@;.[Z)KU6$D1D7:^'#(*O,Z4U9,G7_F<>Z#\K_UYN
M2/O12:B*2'M@+M*N!YF#R#B40ONKXUD;_4.74EA8LK1?CR5.)0O3<Y2,>8Z5
M"K/=,4@H=-QFEX]BQ4-U020>?'M;MFZ=MC;='Y.BWQM_FE?H:&[T9[TGO577
M/]6["DO$IY&3%:7"2^$N\IY_DY2R'5QQKJ+<G:QBZ\@R9#X\(8!.B9M,U"00
M(2A=4[W&]RL"Q?I\CQVM.P=B%,&S/E'+$4U25@$3M#6SQ2B8-Y:<MT7_EF\9
MYD1"3X8-ZXQN@(&!G]Y("RF7<76SE!]T]13.%'(S;_MLL9-6C5_D"VMB9/![
M3:-E[,'OK!\(,6WF"[.(>)HI8_6MV.3'CEW#6VAY*U/F'M9IMWQ25F_.?OBN
M>+!)B./1\WI6M,]+_C:0F6X1B73NL":/EDBC@%'#Y2Y'JDC5>&&=;8*&4-?'
MT*CL)YP%;C^D*^RS_<127XRY$N'O:3'.7T:;9D.-*_)CWG#'<T'31SY7RD6]
M7R3O?S> X_ -+:3_ $ZS2ZE+Z7]>(CH+B\R3BP,/O]1;2KO?1ZW>H?JL?SUB
MMS +=T:H:OA'WL;T#WP3IB!&T%>U:W*2B7)"T)J%F^3JD]^V2!(T7J$A1:::
M[N", .Z)_O;XD('AUUOX9WJ1U6WX0W=3.!IE^QW_U=WC"S*4%[LS6)(G_,V,
M$*K?1C&S?5?Z_TX'JMX>@065MQ]_:8=&7.M=%D%=RV"\)X;I)X,=/ (I^2F=
MXFY+,C$U>B3U7D #$T]_=Z!_9;M?RLUR5FM5_63I=DUS@&BJ7MC\(^/$YZQA
M7?BE1.C$"LS-O W)(84%-F4I1QD[\XGR2OI+(M<Y25"?M6;&\#:"<9A*MHVV
ML]5\$/.;@:XFH0T^WKDN#C.%"\.[&Y8"?61DT3U\ /IA\MM5\44 >=[^JWAS
M", T,^8UE/)-RG/(0L\$;33-J=8UYQ8K0:GJ1]+*RA$UKF%A\DM;0W[\0A41
M.TA2I:_15IV95G[1P G4L##;93\P$_IU*0:*;X@TU",KYUG_I"+MPG*TM/_>
MP"Q<-M4&8:2U2)]%6OD>I)5_>8< E C_:7?^2KG^?S>EX^RO> YZN<T?PNR#
M%$25G187A]KLV7["F6%H(@*2'.TW,I#HFKOI*S*-?T9.8.X? *_1*")#H@7"
MD)HOD6EJX^E9N)SWF:M0O[:U2A15RI.<+F#!K1!OD)?1L.0?/A7X 4W/LZ'9
M#CHZOV-1FW U=<FGC21X91XBG&U'9:_I[150P,+"[/? GM)@T%=@7^5^N>"S
M#\&;AXU-LA0]@9Z.=AO\S=_0LH.U3.0'RH]Q/?)OWXRYXK7:JX3*972N63[0
M\\IQ1@N[^4F7Q\+9*CU0A%\J:MZHANMAWRV!^F6A1G&-=O#PX32*N\!PK$_Y
M$KW.PX0/\8]%8K5D*N*CJ([8:=3PH3+V:#N@.6)+"HJD%'C._:8)@:]YM]RI
MM!VU+4G$@/3I%7WG@Z7[:.G?_$A7ULG'JAYN2^GYR-UP>$73_#*DN-5W)Z5:
M.TL=8%!&J^G/4JS48VK#SFN$-G^L6]8L]Z>?KGR?_-IZVLC63-FR;)8SY)%8
MZ<!0XTMK3;0 9;YW$2.A8%#8=DW UJ6/P-X\JU#2O&2B0(;*P,+/]E^95^^Z
MS5'>%(>C>[!2[JJF@C/#N=93U;\GOZ39JB#?;"M,&+D?L&1'_U:,D^57"/$W
MF:I>UI\/<G:EZ&/"8!9<Z1E1 J+/7*/E=1PX31H:;"QUT,WEXA5119F#L)"X
M_>:=!4NZ6M2^1U)]DHA::FX71LU\[:\93.$/+;OXUD54T2W3<MI\9@G6?G*P
MM=S6L=I&.R[,\ +=!WW!%@H")X4&*G3:$/'O\H1P:79MI]C^JJ)']4Q).,F4
MG?3:*@'BW--[X]O*DZNU*N9K5C3"\0KO^41_^%/Q)COJ\_,D^_UH5P)F:Z'?
M"HV6%>K:&!4/[63[QZGM X:\IX\H-,W>XY#8I_4J?W=H-&6PJ1T33%4CWJ7X
MF!Z589N^J"R@*HU>1+W!('V!E>= 8Q0DJ(:[Q[NXU$-_%/F-ME&@H>;T=-E
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
M]O^#YA[:X-J_>OVH)"Y]'FP2K?80)N$6&QPTOJ, >;:'_@E02P,$%     @
M'8DM60:OY9;+2P  LUT  !@   !T<&-S+3(P,C0P,S,Q>#$P:S Q-2YJ<&?L
MNW547$VS/KH)&MQ=D@ A.,%]< G!W2$DP0($=PD$MP !@A.<X.X6' ($=W<9
M&'R 8>:2[]QSSW?>]SL__^.NNV[/]*S54_OIKJK=7;NJNC=B#K$&X+^24Y0#
MD!X! -+#!T L M( \J-'?[X/!>7ABXJ!BHJ"@HJ)CHZ&@8V)C8V%B86%@TN(
MCX-+@(N%A4^*3T!$3$)"@HU'1DY*3$Y(3$+\IQ,DY <,"NIC5-3'Q#A8.,3_
MTP71"1!@(+$@V2 C/0,>$2 A$R A>@"Z!SY1D?Y1@/^[(#UZX!$-'>,Q)M;#
M!77XP",D9.1'*,A_N'Z@^C[0 10"5,*G+R71B-3-T9\Y$G-_BON.02]5U46B
M,0YAX'GC%/@8DY2,G(*2\3G3"V867CY^ 4$A86D963EY!<57FEK:.KIZ^@86
M;]^]M[2RMG%V<75S]_#T"OH<'!(:%AX1G_ U,2GY6TIJ3FY>?D%A4?&/ZIK:
MNOJ&QJ;FG]T]O7W] X-#$Y-3TS.S<_,+ZQN;6]L[NWO[!Z=GYQ>75]?0F]L_
M<B$!R$C_7OZE7 0/<CU"04%&0?\C%](C]S\7$*"@/GV)1BBICF[N2/2,^Q,&
ML53<]ZJNQ_0\&A"2-T[CF*0,O.N,IW]$^X=D_V."!?XO2?;_"/8?<BT V,A(
M#S</F0   ?=B$R[#S+4E0I2C:.^#R9/"WL;GELL:P/LK$4 6J\/=1<>Z8LYY
MKIZ3ZJVH3US0M:QQ-J;_W!7=^;8= O!+AKWXYRMU7_RO$HTZPOVX/"Q_FCR!
M]TR]G48KW.(;")F5:6O&(=QT+I'%8F4Y5NLAJOV"BZ/="-U=FWLS_BX"?JT>
MJA\Y.KD]<9$V/-6([,A2AJTB4*3#%KICY(0*N)G^5X/I-;OW^./94'+DEO"=
M[S?[93 E>G)4V7%DVBW:5*XT8$9EATH])A<)8<%!WL@*%97_T55@N&1B8$-&
M4%L_LU">XEK8-E2$&O5L@_?<+?#Q?/JCQWU6R-__>03Y*[%0V(VA_VH^ L!,
M/3[#$9^Q+2G>K*\/QHY7YODLH\:M'[X&B*1V0]QC+U1I)7D7>*\)2Y6HJI?U
M5:VVJ8FH?OP*TR='#@6*N[K6?J,U_'-WH*HCT.[0(OR>$ZH]].)1UO\"39>L
M#.8.<0CEL]-4F;*_%/'.8$=)+KS#O<EIB(I'B7WV4TW.K9Y.1&4RJ%>UR,<*
M4IY1*I]_<YMQN55_Z(XQR:MT.+?S.?B9WE8(F2+1KIJ^(I!.ZY&-VW!'VPWW
M*>LXF4  P73_I'U6?-@KR(:'L8\T?_9,L\6KF0/[LOP0]Q3C+S\KA<-?MR1^
ME2-SI >(5"&S/<I8O:G!?5D6CHZD^2AO/-GXJ"B.[&5DUA2>91 ,O25H?=2$
M8LF+5'4?:XX Q'56K_?]?\8>>>/=G-4C@ XE./&RK>$D3"#?Z,"K[(C2+^M#
MYMM9 6Z4&+Y+AEF1/!\#R&A-\;SU^+*)_NKJ2T,18\W7S57QAQBC?8R9O-PL
M/^)_-6$E#J(F/Z%A^C^L\_\V[=>DCWRA+65!6:&!D>=LJE8QZI8W.4;&IC[Q
MVRB!@0,_#<<_&GZ, /X#I/[/*BA7ER#^KXDZG)]A[W(]=E\GJ/^N2%"KCMDP
MU$DD^?J8_DUY!Q=ZH/"%F.23G0!.?XLY_['$AOM;4TCN/]]*HYP 9@3P7Q -
M&5XPI"--I6ZV"IU&=F5RSK!?M)'UD#9GW'<V>N34+RU.H)]M^6Q2"7RLR*@(
MJJW'!80=_OE^_=.@)5_54$'_!V@D.PNUD](_3.3I%N)Y4Z9UA(:*D&( JD;:
MZ8.ZK84)2_V.^ZG=^V<J,HUT'@B@3H(VY3];N!\&G,)\H0P((+=_D!SDHKT
MO,B)^$<]K0@3$)YN ".O[?S^\(&/Z@0J?\EE/N60.?&DW;7<T$N6>=2Q;SS3
M<Y/DER%,<-:/)BN8DB2FHK"@_;:^T)-OJEZ5+]U)R4&T.L_Q0?E!SBSQ:]>@
M9=I%=P@"^'D-?QIKT@Q9B7,N[QO:+QXQ)S(JX<24R7=_Q/5RC'B, "8(28[B
MM&B=;>7,.71W['NF>$DC3A5.@L3PPE)#8I@H)H5I)D#4>>-=7[YM-E0)3F@L
M1Z/.2T<NZ[W!;/>,&;6M1DG$4#3"N%[N$W@IER>12E$0R$R[^A3'IPVA32[X
M%>\1XT"H;V)]VC,?]R8\4I4?"7U8+S)$C&O-'[]"X8'#S[QTC^>4+;[OI;I%
MO^-)8:B?!-,'"KP!V(8"'BD ;Z\>?8?,!K3RK/4W^N-!W15_IZZ]2*D=)B_[
ME6UI91?!$Y5N.?4;_6&6])!>-<MEK(?KT(GT7N-][V?_+2XCI?"68RQ0@.:'
M5/:3&NZH3_&BN6O3.WG-N7NZF9P)BM,P>D<V6N;&+PL"5U\)[ R?M+\A(A;7
M92C_1?3<F2%$\H*_;7V$J5?8V?IV)MFR9(X'S=;PSB7SF>0 HQY!G'X%9/6G
M!O]7PY\+K#1,=/,]^Y"LJO4@/*;M^Q5RY+/-N%1@5US,(]844A$0CP"Z4Q/K
MD_U<1:@L^$8*%YSBE_J)4#6&>,ZW+AG0D*V?)@<F;'"&NW00F'A(7?<D(]'U
M<EEM]E0O&K)=C2N:-;SX)..G<IU\;:./1^B$]::MI<>$9%S4]$V2P56L>=E\
M7J!VPY2=Q@;?1PQLDBZ*;H+,UBR#[W3=JABRI,6$'IHR"G4:N-F1A5*DD! V
M[%R'$_$WJB.9*E;(?:Z<5- S/*)Y#YW%7DRST-Y<V63CA-<A2I%%#)6VV1T<
M<TD*,6J)L2AA<P'()5>F>'Y/H1$.CT6,]E([HD[L7.V4E../NX^XQ!>]DV+X
MORKR,C<6(5^;1>6^Y:0 ,T!MUQ^7\;;HB[+FB)5__77KPUXHI3&2$O0RW&V#
M6^_1JTT&9-U6H74:K*Z9^(4]2HZ,[XNOX!^^[-=7+>:V TO: ,H:4I:Y!"W/
MAH@#X4$6)?R)]0IUU01'03ND+;BUVI:L6NJ+O7>=SF-J#<\,%=V7%X>C5A,P
MG#(HZP99H _/^HC3$'-M%KJRS75S??JU$C=C;_,IM;-L;4*@N$7 RS&#RT75
M4#A9Y2EVZF5%R$6DG9N<I:\*%4;2=DKCFW=8C0D)F9X_FE=_5J! TS33U&=$
MZ;)MFC\O^@RW@+D?Y_L N<[5\1\!9*9L8J1MX?R+*[@HE,]W VNZK6Z2\.35
ME,.GD5:#[L6^R+::Z-[/5<6[V+W."<9D/1K-A?VJ(:3-1I'/*PK%P,O0:+@5
M&^VCT!'DG-9,/:,8?<&[0MIHVW4<M/[ND6Q#JU37]L\#I_7))'FV-MJ#' 5/
M^-?#&:*<$U)-<3WDI2"N>?7-:)&%5FX3'6D,PG:E;GLG 0(D$DB"@.6<&GHJ
M?+QC[RH3=8HSX&&M.:B>\N6/5M G;/=BX!(J>O8G57\;9/K4)<;Z6U2R>&_
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
M/XCF!,FO1%0ALX7CFH+%O;U'HZ(FI$G\GR'3TYN,EO?NQJ)C#/=I?NR@'@2
M0L['S[SA2Q&<F8\=A/N+FU1#Q'[!&3[14.>EDK]>1J_/<$"IG7@*.C^WC_??
MD[C%O.G>E$MTA>!MK*2=:LI\2I.>VB9-O<R3#C0LV;S/_EYS?[$%@U;D7[1I
MS!I.VKEB44P<#!TP9C[.%=(G"-$.G2+0_UW\8@7G;OBV:6,+FAH?!2'O]ZIU
M<;C)O;(\-[PI<%P([<P*]4KY!<<<1Q)-P(F7414Z"-#E+((/=&">3-=#[<JH
M3]M7;EWIHUPX=%<+;:Z$6:="1$A4UTH8SRU;V,0H?-14MV*SY(_DU\CY7G!^
M.(%)%@YBA>,;FF1WH=/OO$RB4Y.LR"[**6CG:&=96;#76=C,E\J@NA-<6)<E
MUGW:^(_MKDP?NY;9(U%..^><Y94Y UFGBN*E?6NB!XM###LMC>BJ7%1B*1$R
M"D:!^.)6BEJO6[<:YF,I^=H@ ,D4(Z[FRK/YL./2^-Q<Y.,F\K4(8'?1=&K[
M5"# K[]\T8;R>;ZMB,K,U7#D#'YHC-F-B&[[-/5NN6"Y. +8L SC51;T^+P2
M.>?ZM4-)C-LC%U^OE;/^$6917!!+PA-+AY1VY6RSZZ15;';>N]C'=4EEQ?.+
M'D[/0U;&*<F4 C0M*%(V+1EB#H9G>:>@RKE4;<KE[UK:*MLB-EY<S,^+C[UO
MP*;<'%SXWA47LJ&?9CV@'! G00@EO=9HF.9;1M:<VIG9GJ1%CU5O4LA-TDH2
M6S1^(_.ZA'7M1^S7<B=)IJ2_'SH\AC&MOX"Q.CA1J;7-<)9O$2X="(='C;W$
M)) \&\='U090U803DMXS??X[% !7M*H70D%=2;?EA6PE=L0$+PBD)H99*Y'4
MZ=7T,\*!%Q2E=QV1<-+)BS8!]9:VIOK:=J T7L_HS2H'D0!YU'VZ@XABLMF
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
MZ7G)'_)N52[YW!T&=Z+PSH%$MI,)+2V"65Q":\B_?"S:?(WZ!OS:"6+*L08
MYE%--M1C"VK><P;0(M9(QU]F %E1-?]WGO^WB!@W*8? V)I&8 0*7."41LSD
MY.A\F[9(;^8D4\3Y,ZR^BSPLA^QQ(/."W"'XFV?'_,WGN]Y*/<Y#U&]2Z0]U
M01:BOW,&'1"T?N\B%->@.V9GVD&TKJQJW7MW-]^B8CT*LNWEL7T5\H894HP-
M32Y#D H3&T6)+E!3)YU^.R=QP@-U+EGS&Z!/-]Y=K39S0Q8%/=L)4.\K"%:W
M<)Z2-.I9X. L4/>,/^>ER81_A.*_8^L$D4>D7Z+6(#Q9.^(C7PR_,.WS*_FE
M)6VWK4J$8S/J!/"U>]Q(_^N-9_%<Z\5.\]QB '9@!M#S^UJEO8>+6@LAV)W#
M?W#/K0ZM[D[*Y$T%88E'-).0;GES%#-;Z4)?AQFH(S)/-B)KK9T3MN2R?:4+
M<GK,*O7=. HTKW44I^$Q/T/6KCRC["B6D],Y8S=2Z'R*/\J:JKI&DQ2N[7)2
ME^#G9)H'66C(M"'/&053ITSP_3*Q=RFI"*'VD]V6O,]EL".FI!*80D3+O*#U
MS4)!%G^30P4OV;3)W%[YMB(;^X3UG8#,KA^SYL*AY!)N?_J$W[Y&]^R% V?[
MAOF&^3IF(>)3X=1"-]-<-=QM\TPEICIVWN8B-;0=/@0NDV9+,&U1K'1_\)G6
MNUBR=.O-Q7@=D</ZM\L+3(Q+^3H"#4D;02A"JNW]I'RWZH9J,</.L/QS!V'B
M+.?9D," X-PCQF \JW'$?847L9/&/+X>Y^"\DUS7+DMO4A\5\17[% PR86ZE
MV]@D!^M%8)"WKSY,\FH<X\W]L*<KFEOM;CMGU7DOW7X5K[2EZ#%Q?$P\A>7F
MTXZ0<QX6THOJ;(\80*C:JV@X@OW5VZ6KPB-:1KA^->$T:0$3 S<9FC34$K),
M8*KK*XR!*NGSD7QO-,!>)4T*G_([GM;SJVM-TC5?9Q_\3\.:B]?RF+-B;7J0
MKF/Q[UTXXGET_LE \6>QL#>CSJP;XX-)BP-V5T+-YAQMA!08P-&BN]8^+6#U
M%O"/[@4+Z?^J;DY .W-G8_+T82"!BG,LO:[5 I8F06V970_.-U-,:1@JF5"I
M*5$UHHG3J*N,/$H=L&]U%:WN&+BA0+"[VLF$4CX62S<94).&=4>C@W@(H])O
M/D2D&[0CY$NXD-F[:E3!VHPT#-^ZCMQ*F@\>N!Q<TGK.,O,PB7RQXJ"5GSA!
M<:I^G>Q<WM?R%AX-X8L/L:CD%6U;8U46YA_5AW*8HT(\=0KG,/QB,A35=@W8
M(%*"C(PMN@@&V+9S'^9Q?]K.Y19/"@,QG4D2B/0NC6C^,&N;9-^+4CA>E0Y%
M3D3OPM#)+ :"NIR."0XF+*%#*D'+1@%14[5JJ\LWN!>V_'.?R5'4O-!@P^,E
M6X.7 EJHM4W,4(XJCM"HF%F/"^#R_RP4.1#.I0"CVG[OF8KR?I=>%Q_!VHHH
MJ(PNF^S-!!LF#4A;H^"4.KAU@J8<L^(=#6?'E9:[V][/Q!;J%[Q#LM/)UK)W
M2@P*+2T>.3%;K1$J.VH$677]43&U$+IRCRN)8MVGJIO);/!4A2@C/W):VD,E
M@)9Y']<]&BA=T>?=;@ O/8* =',8(!7G<;5FP[8M('WW=Y+F5UHNB==<\JR4
M:TB19BX^6R^#I\F&HA$:MY:]2SSMAC^^'M*9'B @8R(AL(+'KUO*FX>>%/GM
MR7E&WA="I*:.2M$\4OTFOZ]#OAV<L$\/R]@\F>UB.5)V./X\2^GRT(PL8F]1
MQ9#XR4W:02[3-KK)?UI?JAB1+S48[9MCNJ87ODB_G:6.S%XE<@V%:5-6NT,/
M>N?$F9E9BWH*6CX^H;7 78KO<7-&E![+J>:'YC7/!*".B;X-K!M_SOZ>XGR2
M-&FA[[J*)CKO&7P_HOF#6OV3BIY6L1P5B>*C;Z.LY>/!8C9ZWZWC5]E0=IDQ
M@6Q:T3A1V+(6" $3']#W'2>3>B?=H,28-^]DK ^]O]7'N7Y!A$A7H&00$^=Y
MYV4TH&C<ZLZ<WC&JV&WQ.<ZAP$:)Y' F L@..8SAXCK* (@.QSZ<UW<LF$_R
M?=YU8DG<J*HJ[-B+7?-FW0#+-5,K]Z7(+5!;,;%<PNE.9AB_CAV=%'>]+V=.
M!3?V U&)J'FE=GM*P85W_%X3.U,4__;+E+A5Q-7*LF>--^JK:74AKP6;2B,5
MBV=CG:534MF945Y//(*(3*$-LA)"F=^CD9?M5I4R HJ&2V9R)!\;PBY)6<K+
MEW+ . %@>B?1[]6KLD#>\5CPQ$IX=J^W@?62PFU,O)1>9(J+@O[A+,Q[HP>6
M&\!_C<G][^\!<^E_BAXX UT&$*\1OG\WC@%H\_D\^)T7\D_+WR@W!>@7-L4W
M"%K[+!94VASZZ476.U/U58]4)2TL70">D576H.Y94Z6ZPH- J+>RG+]7B=K4
MV#](+W$NSVN=T4O&]."S6+36+S78\I5E+$S H8\!? 1CMJ[3X96[8O39]2R>
M;\!OP&_ OPG\FK<6<M<5IH%$]19C9 _<<,?ULW(ZN]@=QT0]UX2^TZ=%$J],
M)UWH9@S^!E!+ P04    "  =B2U9B?;0%@8I   G, $ &    '1P8W,M,C R
M-# S,S%X97@Q.60Q+FAT;>U]>U?;2+;O5ZF;N6<&[K(-Y-&3)IFL18@S\3T$
MN.!TG_ZS+)7MZLB26@^,Y]/?_:@JE60;2'B91#.K ]A2O6L_?WOOM_^KV^W'
M4QD'*A2?AI^/1)@$Y4S%A0@R)0OX=*Z+J1@F:2IC\5EEF8XB\3[3X40)L;?;
M^Z6W]_Q5;[?;??<6VCHT+R7QOOAU9^_%SO/=YR_%[NO]5[_N/_^G./TLMKX,
M#[?IZ0\GA\,_3OO<[>F7]T>#0_&LN[/S^XO#G9T/PP_\Q<O>[IX89C+.=:&3
M6$8[._WC9^+9M"C2_9V=^7S>F[_H)=ED9WBV,RUFT<N=*$ERU0N+\-F[M_@)
M_*MD^.[M3!52!%.9Y:KXU[,OPX_=U_!$H8M(O7N[8W_RLZ,D7+Q[&^H+D1>+
M2/WKV4QF$QUWBR3=?[&;%F_@S1WXNO',97>NPV*ZO[>[^U]O4AF&.IYT(S4N
M]E_U7K^N/LKT9.H^2WAJ^YF*9*$O%+9]1<]>#_!@:A\;)W'1'<N9CA;[_QCJ
MF<K%L9J+LV0FXW]T^!/XF:M,C__QAI[.]7\4- 1M<A_[9F+XI6WV0N=ZI"-=
M+/:G.@Q5# _\_6^OG^^^>/-V!Q^$=4A7K$40*9GMCY)B^J:Y+*OF>S?3*-1E
MT961GD#CN,+>O 3^M_><?\$>1[4>YXIV9)1$(7S9OYS"I.'Y7WM[;W=&/,6[
M&:(] ; R13+;W_,^PAW>J\\B@)NHLC>C) M55KUS*?(DTJ'XVR[]SW[/#32_
M_,XU&/8//YV>]0\'YX.38W%X<G9Z<G8PA-_O>$&69_N= QX B8!50&*!RRE.
M816"Q6..5M>ZI-_W=0%O!_#M5G\\5@&>?_%_RUC!6>L(I);;;W?T/8WXSS(O
M]'C!'^D8+G.Q_^*7]*IK,ISJ7*Q>6;%5X)=(#)[OOJD1C>7YKM@ONS]$1*B5
MO3?;8BIS,5(J%C),4F0EHX4HIDJ\3V0&?&4L/N@,EBW)<NQ??7_WU&"S=VA_
MJ(+I*70!="^)Q6&2I4DFD5[=LK_#9 8L=&F^,@Y%FB47L, Y330OX",86HZ#
MP0_,B\!316$VH/X-MK7WSS>YR%509D!;H:4DJ_TU%D"(80?3<@3#BQ9=; D6
M-Z 6\!%B\_-I,JOUB;LAQ:C,=:SR7##%3N)\JM.>H+.1\EF WX#X:VQ3QT4B
MBGDB4ID5^3X=Y4*.(B683/WKV>XS$:@H,G3/_9VG,K!_FY4UA"U(HDBFN=JW
MO[RY V[GR.GSZB.DH'1I<+S=2"Z2LM@?ZTL5KKI''E/C@5H&6F3P7V@GP8^]
M>FFDAB+TO[S51"Y45NA 1F9<-$28PIOY5!>JB^NI]N-DGLG4CO5UQ6_,8/=Z
MS2'5OU\^Z=\[6N^:Q$DVDU'MFIB/GKW#\S?665[0 <++0<PX=Z=?QW!<LD+B
M3YV!N(I7)H"AX%V2:1KA>88S*$%2#2VUZ, E&&MXCQ]3LS1*%DHU;]D;_-8)
M-K@N.[B9.W0@-OL<[_[4Q_CY)AYC(,$)TG<\QWH&@B\>4A@5:S+N0&<J+S(=
M$&5==8@MSS''\CYF<A7?@NT!LGX*5P?&=Y^#N&HY.X9C(H\2,E-B2VY7M[MQ
MBSMB:[1=7?@&(\451GJ2ER.0:[3,<*EE0<]$ZD)%^,)O\*H .0 E'Y@I[<H(
MEJ)#OVX%VQX) 4+$1"M&.M2!OR]@1X$%.W[)[P=!4L8%[GBH\$R@GIWWUE.;
MU4H@\2NG?FZ"D'@"XJM9XS33<:!3.-QIF?&!-]^,%5 6^!Q7 @AVH7P!)9+S
M'&4(./"6WH,6TP6:$,'1,^=?&S'47)N>/1'G<+6B!3<:XNK7'A-) -V @#-%
MH5*D=(Q%B2.;P0N9EE%'Q$G,HA&\/<8C1P)?,D(F P,HIEE23J:XL4ETH<@^
M0@*3-!+4 D<^DU\5["Q+CCR7,@M A((CD0-?Z(B)'A<HFI$P-M>YHD&JJIDU
MHAPO"XI7,!0XJ?X@X3MJ#AXL"YPYG.M@:AM$*4VY->6C.(%)Y<72.B'1H7G0
MF(!A%CKE@PN7+)G!I$-SF$$DO]!94<+NX&U:F$7%I0^BDAL#LL6?0A-YG@2Z
M,B;5+JKFT^'/R*QR*"KMPNZ4W7(<E?G*;9W]#L5T7%F5S7*B%*$:TR[2-84V
MC?I2QCC[MZ6]0'3@8?N,N(_,.LGVK1;=_#:")O>I"?QMZ6LF:*2(HZJ##&#0
M$0?(YR+U][_M_;+[9O#;VYWR'2@[43+?[FV6QG=:2?5  2=T!_ , G6,ET\.
MG%"\J!-S/.#"-YY@HLFGN "*O5)[P4= 4$&JF98%'P4X%*A/J G<!2;<"K80
MR() QEH&Q3VMV^TL$:<'9T,Q<):';Q4:FX+778A'=VHGO%)S6CY\UZS60<^M
MU-42W 9/X?3T:'!X\'YP-!C^49]-C:%OVOUNR)D%FMFED4.!6F[I[6OL##[)
M1QX!5Q8$G^ K:%NI)_B@]8+L#QY;(T;FBV4SB00G+Y%;(@>3.1*<L<I0^C2M
MQD ^H-,17'[X,9<9C+C@3H @T$7!N^8/$)J9P_W"GS!-N(+Z@JS._EA83H,Y
MX$+@8*^SKW10G* 9 8&"0?' G;'*<3>2%;5&,P\OP'H^WR'6"R_#5B*1I37P
MQHB<#,;U718<$&7B28(37&W*V43FXY9HI98T43%*DR!_A EM0"6]T!*J+$#Q
M"A9,\MDQ!Y(X2B#S*3$M:+M4]&>$:[+^-1:C5HX$^J>^.V*:S($_9AU[BG(9
M.;F8)84%OFW:):E.KNX<WS#CM:*G%*,L^8JMXT'&98+EE#K*2;0DD4ND2<9R
MZYH^H<, M3GZ-DCR@GBU[?@N3\$5C//.G4L^.=]T!QG_.\V<74@&7R>PP7'8
M$#>]&=:_F#+C0;:%@F?7_+V[:B',1Y[_T7SBNQ^;[L543E1WE"GYM2O'( 3M
MRV@N%[E9U=>O>\]?6CN1\>KM+CDL6S?HIKA![U9 ^%9KZDI3"]/2&@TE&XL>
MZV4E349Y4M%V4@]X5<1,S4:*]/I$L)F&.2 \@WQWD<3 !R*@I_A !.M+(@VU
M,$U _9^"Z.:DDQ5M&KZ";ZYX<506^!1K\#6AR4Z]P;IYZ5A$@+:(_62HJX_^
M)(7(3 [TX*A4<:#P 1!IBBR)Q):3A^ 5E'?PNZF.0OB+Q@H/YF54N 4 I1+X
M'!H+U,*8&%:.;+LG_H"G<2"PA"FT0N(3\LB9_$J,H\Q4):I9>P:YEPQW\UI<
M,'NQ<E"UBR,V$] TC $&Y9;(B2W>P[U69[I>X7C_]'6F?_>/^V<'1^+T!%2G
M/_;%\8D8GAU\&!S_6YR<B<.#+^?XJ_WH]T^#H[X8',/CY^?]<\(DG'P4GP^&
M_;/!P5$'7C\V&*+!\<>3L\]UJ,+3\N0\D$>2^, &NG(VSB-YG#C.YQ@?DD#+
M]DAUK=%&4CB!XC5(+B@)W!#P&E0 C&S?X#[60.P,J-@5\$>K>.J(R#D($#DH
M#D;@O\Z6+4=P<&J\F> ,;"7]#BMKP[!JA:#RX?;E >RUYXKXNAC\UCM 8^V#
MGSS:@A]^;=\_SMHZR_M3]/;_Y#QBX]S]U_((E-._PK1R*S1_.\5&-H-6UC*&
MY2M6^ +)Y6Q\=6L%]FN08]8$ZG$@W\IK>!72I3%H<VR'G6H0[#5"Q=(,52%0
M7W"J,>HLAH$4.DT]IVU[Z9[@I7OQY"[=6L',::SF,OKP2.?3-Q9U/-PW!$7>
M6CR#"^T0!?C''/IR, 2#,PF2,F,[,6K-,"L<^A(TP1MQ3WP[=2)=_;I17TN0
MOIF8/%%N_##8NTVE"R\WC2XT,&MB!JMM&5&:J2Y999TF$T4^M+0.F_;O/7R)
M$*XL1)17=<G2+ E46&8*V6B!QK-B^J.J1+[</A@\HMA^2]1<:UZ\TC9W^/3-
MBR?#3_TS<7IV\FGP?C#L?T!+XO'YP2&:!<\W'**!=TT'920S42Q2)D13%4X,
MUFJ6Q*K0_S$<UG<_ "E+YA7($;AOA'Y?($8S9.>&GEW(J&R*#^P@1M<&=$+N
MG4(A$D^H2Q">X@D[!9!4P@_",UO 9X)H!9 1Z($R)4>,3%.,H+%P/A/7 CV0
M[Z?I-.%14V-NW.CZT#$,$^&-<ROW,%7W,1/DAP%*;%6E<0E#S'3^U2(7YS:4
M!EJ!UBEPY7>$@I*LPMC0CM\YRC0Q+AQ,&M9&7B@>OIS!FI&SAGQ),E^I2!F8
M"\X5%Q.:[(D#8AJPK@@2:'";:Y2QT6*ES\V3W&H0',_!XEK3H V&B+[TI2T"
M&-!0G=&1ME-[/JY.TT%%ZYO@9B$%:.-Z-ELHN]:*_F/()>=3D+?(MI$_BCC2
MJP(2UUQ00U$*5CZON? Y36>+YH-WL@F8PRN);15(PI"DA=LUV+65<LG88Y'>
MV.<HN70 :<FV())@0]!>%T!4X2?0M6RQ_41-,S^W!G:M.?3'N.PG!E1J&.BF
M7_A1N7!&I[0LX'D,:/$<?*O1J,EU8L$55_3A0H;N&2OU(*B^M8C_YR^-5+[K
MA/+G+8ROA?'=$,:WR8SR)Q>+K_5A_!B<\C-ML TY964XC=B&L.ELDP"6*V"4
M.!\QJTW,B;C.2P/RL:9H7G*AP,BK=Z)$DHN4UD&M!&KF@JY<09&J9/&@M]JL
M $_TME_KF?@Q;ONGIW&Q2<3B_# W,F>B[*QA\!*QTAE:(2EBGA57!"P;P]3R
M3?9UXO^H+.EBM O?;1QFFJE4ZE!<R$Q+@WA&0R'KQ02[AC' @^JO$IW$^5R:
M4.C*'%I>[:ULO1"W-N%_>/I>B _]CX/CP74^A]N> X\&-U:FL6Y/_\#L]3;^
M/#Q$0H'/!I@!Q F)?L^E:%L9HA@D,\5D-P6N+Y(X6JS*NX"!(P:ULB+U@DNW
M,?!3-?B1F)F:  U5H8?Z:B**H5==$( &EO*K D8%BZ>!9W#B%,:/Y!U^+K=X
MG%##H&8Z=GU&^JOBB"!)2?1H*J;%-$/X6<UTVD%.PEU7F3=T7D>JD'45YB#S
M)*;[Z+*XS),2!-*YC(G9($K&QM>8(!D9FX<)?6,S@/1J*Q4J25&:#C;@/"G6
MQ4*+[OI?>),<X=-P-!P>A_!%E9,0--"2(4C[]TIA*/?3'5.8553K4>_OEM[>
M=!)371I0?#)<V#"9<_29A)O" 6(@ .%A8KT)R('*+LARV)Z/VYZ/S3\@(6:Q
M2E*6EIDL$Z'QS@VP#CUQJ.$)NM9C(E\2"#JF?B&"9AYIS\V=G)O-/SB1!H4G
M1)4GS1+8VEF[\W>Q\Q<;O_&PW7\JJW:/0;LM,/!7R2Q&/!"2B(@DP\IWY;Z;
MP(E!\:T]*;<_*9M_4-C\04*%.P'(*% TI=-1QF5>@HA*AEGOX" (3?Z)QR=5
M6<M5[NS$;#Y3X6WW#@[T)=F6UYZ NS@!3^4(4/9 7R"]>7(Q?!(4:]!VI4UQ
M9#,TY2G(LATAS0G# \:IR-'EQ?DG$DYYE(S',"G.G^ZEX:T!*]KC>/OCN/GG
M$3[+)(%R9;; C<W(%%-S.7 Z7SI\GE.B/2)W( ]?;OP!D>0.,M*+H3:>]FQ=
M1.UIN/UIV/S#X(DNH1H5(J-DD;E!!;0'X+8'8//YA7%$('B$$)NJX@[L70#]
M.4UR&:%S.9*L^,A)IMACW2'1!UT0::8B/6.V \<IEJAG=TST+O*:F<HF"GW4
M,OBKU(PMRS%M#)GC\&GX*U.!3"EE/[O-X:,<Z%&A)C!(&46:ZF%T!(Q9Q3FY
M*#S_>4?\F6@@8BB-<7LX 1,EG=M4 0P_+T=87(/B>]BTW-O@N*G/E7NDYJ+B
M/&XS77 :ZZE&MPYED1ZCFY^"B!"C0,GF6.:DL$YG$:$ Y017/8<5$+\W\ ?2
MV4MP2:OTM=+L)AV&:CM-N!'M@;30I5A-DD)+!WR [C&_M?!,N2;G#J;LT28C
M]TAY/J'<_W($8HV,K  S56URS[N! ;]H8< M#/BQLWFNOX%HMI<\M2IM(V?M
MGV/E3@IXK 4&S22(M052/!/1J2J7NGF1_-\4"8F9*I9R6%<&/>(=I)2S%SZ?
MTJO:!%IB]&=):GU%GD&2#A39$=&-SAURYHNJ5RE 'YNXD=DDX]S),KGM$#'W
M2:/EOB9<_P8K9+C&!.N9]L1[H/QE7B6 IO> '2@*!<V#K 2!<,'OC[ U&954
M[X+N'+O[@=-4SO^1BM58%QR$&X<YWIR.^*M$'L^(#;<JO$<.[D$YP"O7O[^4
M9K5'E,S35-"(H>,+-+J._49,/08SF^H]>!1+N/7$U846QP0506Y4QI0@U"9#
M;_#=*GT(/F^ZL;E*K>V'A15Q8I*2-)$5"X>GH/3M.@\BS+I*>]Y(?61+E^"L
M:YF0ZMF-+%2XD:J$+J[*>W=6MN$G0F4];U%9>#&.79(<#_FS&I]5J\BS"I]5
M+U=D8%EJ!6;)NV<K$S8ZW-;04J&EH^]J;MKK%1JI%G:E'A_N$%F)8@))-8^
MD)G/N5Y+8ZJF$!10?Q)8;1Z66CK))A:-,K80\;<#,P@P)FJ(Z8]CBJ"KRM,
MK2:BP+ M'YGF$BAC(F+4P3AMDS)9H6"FN@[..O=B F!-^Q;U"P1KICFIT]9W
M5P(][Q\VJH!N=UQ4?C5\6@)8KXF^4+$I"8 9_LN86!=LT"A/LM'2TF$*!$KY
MM"YCD]%PUF'%'E>3LY$$_JK"[N/%V-<Q"<DC3&KA=X"R:*WU2J)<U=Q#H.()
M168D2?I12_9U(75$W(6N60XG,4!9(RE33K\EHT7.*"XN^F  760 ,$X+=T[>
M;$#QCA]FTYJ[!I3?D42V%;@H?$H*8I)CP*9EY8PB('Q1DS^CIV%B".:D>J4H
M9X25\;#=NKO9NJMN'.V:8W,PY S6B+E&H\0RJC?QF L2P#4;R1P8+%9MC)!S
M,$$%U@-*?L#)]I)E(+7K:$;%_3!L)*9$SQ2/AM\JBO,BHY*/728FAGGX#0.^
M67^;4[[G )4PPW;A]$>JLT9!024 A018@BJS(*\R9_I!%F5S)WJ55"F]CQ4L
M0C39.04K),G)2]?84$8,OP?EYB.ZHB\EJ![*U1^L4JQ^)9[?6',\%Y]A '+1
M$55]8MI.5&T">,$/]E\5O$AQ_:#_9CF.=$OF>3G#65A5BHH8S4V5)Y.;Y[JD
MD4:6PW%L4 7!JTNEF?"M2M=MJJ9Z7%N3JQ1,[QCQ\M0T3:5-R2VO.,8:K1.%
M0-P0K]9%HZNU>=!)D58H41<</UI1CU:7_ Y-[46K2W+9Y>8A9442M;CW"3JG
M*0UM2FX$%:Z$TAQ.M1J+C^RI HIL3[O)71947=B4L%03X+L5FU5CKNDYAM\U
M:KW<O??TZ=^"*VEH_^D'1A[VSX:#CX/#Z\JT; (_.P".OK;"%6GI 9ZW\<)D
MT*,KCFY3+HX[9N4>KRE'D-&]X^S2'?\V=&SF'V0\P-P+&4RMC-JX,JTC[]:.
MO)>M(Z]UY-U3/I^?C!]]?/K\Z+?!R1'QHG,L*S8X/A]\Z)^YZF-'![]O?,Y@
M%<N(-$V2L6QE]ICK"-H4_80PND:K)&46-6[,MHNUED%M8KL^P:I+&>6VV@#9
MXLFV7L:1G(-V;NNR6WNV=GE 3*G(O$Q5!M>6C&628IJ=15K\*=$ @"6I.B+(
M""<5(=(*,4H!=!Z)U$V3:C[39PH';S1U'?\)6CLIECWQ;V<YI\D8[VD]:[%K
ML./+P\VBA)13: 2R>5F@&0^V,Y1%DMU1L<*?2+MK\S>0=G>D)G#VW)UEU>XW
MG40NNL$_?'A%,D5&#+AO="'YY-,=L/>DNAHT"J[=&LAZ/70!U[066*%G:0:W
MD6-_.84W2IS/=\5"4:Z<^CW$H?$3__N5@'V)R [EKF(U!O=<,<V4(A-5;O$7
M8\SM,.&:)E6 F 4?;#"1'<0N;J13.6>Q=DJA4Y/\.Z^@A$!%(Y=?J)[:R!2*
MQZI(RL(2DIF8<I6:*5N)*]_#-32[)X;8$/1MB7<]:S<E+Z^3SES&%MR8^T.I
M/)'G_4,:!9P0&@-C<*I6R-,QGQH*2Z]G,.20K':\RV*<F7+TWN1;FMFB*[[7
M(@8:=]>>QP;U[#L-'>_C!=%2M41&ZW<#+Y@&*DEP;#Z=]F::WGQ2"4^C\]]D
M!B1$6$\<Q M,"J9L9F*^<%:A1\0W(G*+0H4,2R-P!WKUX4(4ME+R2ILT"4<&
M P#7"2/:0@N/HMK:6(F BRYC,$JVL)W+47*!&+"_2IV9C&D%N372" [[@]'7
MN@;^K7Z"TX.SH< 2,T;JW@3R;VK@^%71&Y6&VN+5-]"U#IZ^NOC^Z.#POT^^
M#,5I_VQP\F'3E<,#\DG6:V*A?\VBT- 339SZQH5)PI(":4= 4;YB[16@<CH)
M[^C\_T2\O=6'B+?_OQ)(*SRY$._MB3KE$V6\7C<^F,#NO5-MCJDI[P/M 0.%
M&<?&-H*?[[W"*AA8)Q*^SRP/1=@PJ#"$*!R#E !,_R\>H\%S<+D-=A4S)!D>
M=S4A$VMV(-2"#UBHTKXQ:*%86Y/5I=>P2$5VGD&?]0'=EQ/M)[J%K81-MW"
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
M.[AX%BY@>69>7X6\EO%0*F/?B5H>Z./X?J;D0I#B4%\J5.\&5^Y7FHSJ:+_
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
MF*P7%MRN--.PH-*@0$S%905'+%E3.=,(F Q^\_P(%W!6XLE(."GG*9H,TR7
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
M,[DO:X1'O9)%>-*O6.S60DJY4J-%I>2'$0>KF<PV<FN/?*GB^?/QX=,OCA8
M]*H*Y8N#G1K'_V;EY/=2$$ -H[G\H Q<M#AG]\R&_Y-$**^MN!C09"V_0KP8
MN<8;7,WTFR-[;WKN03F8BQN$(/%X+8E[;\HQ-G5&H>\#O(7SS%^BE^A99SXV
MQ !\>#@DLI!=Y$H6(0-UBKV6P7Y4Q&LA8%QO*6X[91V%$T9C&VT1Z4WE(5^.
M+20VMLX7'L!ARC8C;G(5CEZVSWY&@<'E/"(U5H4R!C,^"Y693>1SUY:,;8H!
M;ELV3E)5,>%-UQA264DDL V :!\O=/*I(]X?1GNVICX\(L0"UTXQJ;BSA=KV
M(4!3AX+'[=L3 2/\CR%;K=@P)&Q*K#P''=W6O4WAF"BO%Y 52(7)DGW<IT_S
M5+&2*]I?(BB:^+>H 4F :2C$+;3/*)MPR/5XR!F::BI]*HYR/:ZE:4R$A21B
M3IO$BPH8*K9PB[970*,%.&RF3Q-@EV3S*I8Y@36Q?X8(P3LC$:G//GG9]HG6
MIR/EO6T/.S(TQ ><.U^#D_W!:7:3DVBWSL_EB)*.2M,?Z)-0]4+1 2^P5>.F
M:D DTKUT&^HEM'^YJE9\OBD=8Y#(,,-*9&3-&1>.[B7(."3\M)AV)Y<8NHB)
M9,")5TO=IF'[ES.4]9Z[ZRLR?K\V*7"],RO%@GDC@9=!3NC"2<=*3,R_PB]M
MX,T>&]^087AG%SY/#-(F"@+D[98N;]L-/B<6OBRAL;\2TV=?B*:VPEZS9_AM
M* JD7Z^HJZX)L%'EE8U5V\X9B@W[[@4U*GVB ADYO;IQ:A7'2J\%"%LV67"W
M73XK&!A0LJ9K,.3L]P?.?>12YYX3;;T/9JMUCM*+8.8Y!?5@'ZVIYKK.!0M+
M:LX]'H;J8\^VWD%MLD.Y5<H^X?JYN/-+BH\R([<]%E=#UF+(5_2IX!WZHDM#
M"1'<8-D&1#3%S!"4J7'']++%A&.!P44L:POG'P3TN46E/$9@YX8CQF7#M6HI
M[UOI:IIJ8/*?R?9<81:2_UL^ .1*?I(Q.3=E?:BE]*]!6'Q>$^4MGU14U%P!
M&O#M.,1+?8W-4=<X/Q;:R[;^/H/:<\S&G *NFSG;FVF!I+O9H>>+.<:2J>"D
MHIMM28=>Z6R?A.$()I@I)8JF)7;I%[HI0D0<<X+A)DG<OO6FPA-[G-?%"S8G
M;T6L@BSSW/7-LL:>1>$Q!<,P:"34FGY?BA"%R0F*7VI3P:^PWP24)!$Q.<]@
M#2(7I ,Z]/[*C^N5V_Q&'M&0BV?GNN14.FA^>X>^FQ5UO6OXX\SO/\P0.\"7
M#7*EG(_J30MR\9B6E&/K&*#4TF^23 2KXUI+N)S1WMCY7([-I?<39"B6??I)
MB#!OC&L-ALNDO3CZQC3!U@?M"V*) 3KVG#2ZK *,:=,V="&DD;GA",8JJ2EV
M[$; ?L@NFZ$#C]:/\C$YU82A0[_F1:67WAGQ&(@LK^B)G<N$HRA9D^M5TAH
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
MNDN=>'_">&>A>:?7L%YAMK970D/I@5.B+70/Q47:HLZD@U)P*\AO:=B%:1^
M(H>KE.4$4]-A)3*EF>O<;HC3WG\A<^Z)M8_PN.:&JP9@9Q.(HU42-:F1?9H9
M>>"DA1/+M$)\*<H@GKJ "!5SMQC_(G7"GZ,T.'HJ#9Y*@V]5&CS\<EH5EN2G
M8D00=PQRQ2!7[Y+QC1D:TZ>UV^X-MP)1KOU.X_G9L-K)%QIWZ&7!;62N @%*
MQ.>4P6M8\"U?4'J]9$1%:8[?R.N)*R$;BMW;=D2MZUI=N=.2X< ?[>O<:K6@
MG)FY%RTH#YF<=HCI]"IG.%E\$K]5M/=(R,-5M0&(?17\L>7]K,H2QD\-[:L^
MP+E,.?\N5R!74W;UN#+S&?Y^U*6:\J$(>S>^!NC5[Z%0!9,WA7ZHS/C<1&IB
MAU/<C@T5_X0/\'NPG8=TZ:N]=NWVL'WZ'FFHP0.0<>S3.<R&19;"_Z1+?W*:
MSB.XOF>8^G^)"#:?O&QM\OG#U^M;4+0U-YNO0;%'$.U@FH=>:A5U\;8Y%[/2
MEIJVMOT6(QU[;QT'\-UOG3'W!6!71 HK%_0R4:/+NA*L*_NFY>L(K(FKP3U;
ME&0"EEQ[>Y#7F:+3;J=MFQZ5<S,KTUYK3FKL6$OO K2.+[E5//4>6KIC 9U)
M0\O$8\BF+9[+I=MP*K=W+&8T@:O)5J$QB<V]SLM?_)O!KBAU6U">F:+%38'2
MJVY%W2?&8G^%Z:+=P&IOZS;[U3T/]/VK'_6N,G7@0_.L+OC\[IZLRX,-3_DC
M'<Z&OUD,Z]CK@V>V=:=11,5'E;>.>;B:JCG_UM)[$[>NZLWV-*<36V5P)NF:
M>YV>16OSVQ]NV;1BZ%5T3+/9""2W=0(FG,:2^?$9@5/Z@QS<8 G@W(%<X*!$
MYH4:AP]M"5,%ZB$XX3L*52"GBWD=JFXCWG7\6EK\Q#7:5!1(9.+UYC"]?^+Y
M:'!R_%T;JOJY VS]TE!X#9<\%AN7\6-Y/'XY.'C^M7G<^N+??UU>_')S]9^7
MXOW;MU<7E]<USF*NAJR^/XX*_TTT]J^R]*0NKRX?X7S/X""_$URQB5#T_3%8
M?E)G5YW4(OG&NOP($B4AF2<M/<7(G>/M*4;^Z=6Y S'R@T45*][)]"E(/@7)
MW>/M*4C^Z=6Y T'2_86X)P7]<</CD'MJ86MT5\C[8QTA./ZJ1PA^[WD!>A7I
MH>,"0_='COFO)K_Z?U!+ 0(4 Q0    ( !V)+5G[U?/2LQ@  )3^   1
M          "  0    !T<&-S+3(P,C0P,S,Q+GAS9%!+ 0(4 Q0    ( !V)
M+5FS9]*B!!0   $B 0 5              "  >(8  !T<&-S+3(P,C0P,S,Q
M7V-A;"YX;6Q02P$"% ,4    "  =B2U9+]1B\V,\  #MDP, %0
M    @ $9+0  ='!C<RTR,#(T,#,S,5]D968N>&UL4$L! A0#%     @ '8DM
M66XPTBDDBP  _MH' !4              ( !KVD  '1P8W,M,C R-# S,S%?
M;&%B+GAM;%!+ 0(4 Q0    ( !V)+5EZ  .>O%\  'ZW!@ 5
M  "  0;U  !T<&-S+3(P,C0P,S,Q7W!R92YX;6Q02P$"% ,4    "  =B2U9
MK-Q^?3QP P!T$R4 %0              @ 'U5 $ ='!C<RTR,#(T,#,S,7@Q
M,&LN:'1M4$L! A0#%     @ '8DM68LS[9P63@  764  !@
M ( !9,4$ '1P8W,M,C R-# S,S%X,3!K,#$T+FIP9U!+ 0(4 Q0    ( !V)
M+5D&K^66RTL  +-=   8              "  ; 3!0!T<&-S+3(P,C0P,S,Q
M>#$P:S Q-2YJ<&=02P$"% ,4    "  =B2U9B?;0%@8I   G, $ &
M        @ &Q7P4 ='!C<RTR,#(T,#,S,7AE>#$Y9#$N:'1M4$L! A0#%
M  @ '8DM6>#CT KL P  KAL  !@              ( ![8@% '1P8W,M,C R
M-# S,S%X97@R,60Q+FAT;5!+ 0(4 Q0    ( !V)+5G#/7\(DP0  *T2   8
M              "  0^-!0!T<&-S+3(P,C0P,S,Q>&5X,C-D,2YH=&U02P$"
M% ,4    "  =B2U9EC2LX1,(   O(0  &               @ '8D04 ='!C
M<RTR,#(T,#,S,7AE>#,Q9#$N:'1M4$L! A0#%     @ '8DM62,?J'Q-"
M!2,  !@              ( !(9H% '1P8W,M,C R-# S,S%X97@S,60R+FAT
M;5!+ 0(4 Q0    ( !V)+5G6P(7K  4  !84   8              "  :2B
M!0!T<&-S+3(P,C0P,S,Q>&5X,S)D,2YH=&U02P$"% ,4    "  =B2U9?4/,
MHFD1  !R00  %P              @ ':IP4 ='!C<RTR,#(T,#,S,7AE>#1D
M,2YH=&U02P$"% ,4    "  =B2U9YR'$2(\0   *6@  &
M@ %XN04 ='!C<RTR,#(T,#,S,7AE>#DW9#$N:'1M4$L%!@     0 !  200
' #W*!0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>tpcs-20240331x10k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2024"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:tpcs="http://www.tech.pre.com/20240331"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  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="tpcs-20240331.xsd" xlink:type="simple"/>
    <context id="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_fY2wuCp72k-Cyw1M2FUPaA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt2.25InterestDueAugust2028Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_xHaQYaNjC0GLjsokTPYnkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt2.25InterestDueAugust2028Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="Duration_2_23_2023_To_2_23_2023_9_mImzpPeECOLpgGHl0mpQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <startDate>2023-02-23</startDate>
            <endDate>2023-02-23</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_WdssD4RQXkOr5lRCuDUwOw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eR7MOPsa3kiPRjFPWmFMCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Ey_sgK2tPkWln0P7Rh0HKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_cHXiB6Prs0W_8I4EkWArWQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_FGcbh8UaDkuh-5cpHm4bjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_T33AawPJtkSnc7o03gvbxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_-5IntPUmBUuRmTldx4KY_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7IxXPn1wokKqIKvOFZLy3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_mb_BWrabQkOpeAQHDt0JJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_uacHwKDVKEaVBeA9L9nAWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">tpcs:RangeTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_il9ZNg-NzUebzWjMTdVJSA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">tpcs:RangeOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_vlXSz1WzLEydeqkUckxJAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">tpcs:RangeTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_eWKkRQYpMke4qRBOTN7OHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">tpcs:RangeOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="Duration_8_3_2023_To_8_3_2023_Upw42tLjN0W25ixTgHbflQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <startDate>2023-08-03</startDate>
            <endDate>2023-08-03</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2021_To_3_31_2022_yF3xLaISN0Opo5lCslgz5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_VqxuUHz_IEG-hpEWOambRQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tpcs:EquityIncentivePlan2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="Duration_10_11_2023_To_10_11_2023_us-gaap_AwardTypeAxis_tpcs_ServiceBasedRestrictedStockOneMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_PC5bcvUIMEmgn6tLs-agmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tpcs:ServiceBasedRestrictedStockOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tpcs:EquityIncentivePlan2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-11</startDate>
            <endDate>2023-10-11</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_kC6wq9-J1ECe4fACbPlMoA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesMember_y1voELxO9E6LF4V-MnTg_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_4DHc1wrauEC45VPNRB37KA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_OAui2hxb80KfTBf1QiFlOA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_YFVOthIEbE-tU32NBvPkig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_Ds0WxFAebEKqid7xvKze9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_Vr3ivxaCik-leVjXGyttfA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_IndustrialMember_0g0nyb43gUepG6bI-XquHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:IndustrialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_DefenseMember_tROc3SA-IkWKxvjAYkJbmQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:DefenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_glnFIRTD8ke9W2RZqlUQzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_kN-u57DMnEqYjglReZGvTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_IndustrialMember_qZFlhmoLwEOrI9L1pVJVCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:IndustrialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_DefenseMember_audOhR0YkUO6hZHQWRJ4jg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:DefenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_qsb6TwyG4EKxIcR07SYe3Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_ppmpedlrQU-U7W3gkd5spw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_AQiOM43YE0qgDCofkenMRg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_aWMCkWlB0kSk-sPyeDzCYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_Bspxyde9CkyLuueZvrDawA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_joU_ClbzJUOoNjkJOQhWbQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_bVeDoYFYVE6cxdhinAQnYQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_-6IpxO5NeEqi5_FiaFqV7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingAndBuildingImprovementsMember_5Wh1kMcApkqbyUKKJccXRw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_tpcs_MachineryEquipmentFurnitureAndFixturesMember_efnnvJhAa0SnB_tz3Sr9Qg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tpcs:MachineryEquipmentFurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_1WWV6R1yK0iNbAN-XwJXpw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_odwAiUw1M0OAUW38FVX_zg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingAndBuildingImprovementsMember_mnLFLT7xbE-ytNI0oEpz0A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_tpcs_MachineryEquipmentFurnitureAndFixturesMember_RdDoHphKdUes7plMtyhJpQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tpcs:MachineryEquipmentFurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_rV9pn5-y6U-wJPjmHb6Pqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_fTIbHl3lkUG7SFR86q33WA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_TaxPeriodAxis_tpcs_TaxYearsPriorToTwoThousandTwentyOneMember_WS4dITeCLUeInRmG36DepA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">tpcs:TaxYearsPriorToTwoThousandTwentyOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember__SeFpt5xTE6k1SvzMcIc1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:StadcoAcquisitionLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_cYSNVMDVrkGWyIaqwI0jkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:RanorIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember__P3LfmwPSESYNR2WGYya9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_zOH2RRSEDUSuPxiahVN8KA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:StadcoAcquisitionLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_cSdJIs7yrUWi6LWvlZ3_Ng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:RanorIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_fb8m3jAKSU2sbVjIg4UGRw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_7_3_2024_To_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_ZGcMv0h32UK2IQw9D1ABfw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-03</startDate>
            <endDate>2024-07-03</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_yZ4LfliIO024zqPZyncitw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ywDkSImrxUmH26eaGTggYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_5_28_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_Ji5swtgxfkuaF-KgnM6Ovw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-05-28</instant>
        </period>
    </context>
    <context id="As_Of_5_24_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_oephzG9_JEGpZARH8vCLCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-05-24</instant>
        </period>
    </context>
    <context id="As_Of_5_23_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_MeY5ch22TEK0hgT3pohf7Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-05-23</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_vcRMbv3wNEGsIfKFv4jOxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_-0kiYhNHB0q6EwmdEFOcFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-21</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_28NYI-AdzUi03e8TfKsX7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_aCrg8sYJXUaoOhqLIjs1UA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_BlU5g3tJS0aObnTP36QrHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_F1K_h0_69E61to_LibFofA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_FlfjqNlVrUm4wnkyLcLQAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_dei_LegalEntityAxis_tpcs_RanorIncMember_dgEvgCfWP0e1Kf4eyKjU4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">tpcs:RanorIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_dei_LegalEntityAxis_tpcs_RanorIncMember_iMo17cTKDEqQIDgDYlD5ag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">tpcs:RanorIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_5UOYm-Y8-0isqbIxiXCq9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_TLa0eTgij0mkZhwwQ-oqjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="Duration_12_23_2022_To_12_23_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_JXKyuTgSX0uDOS5RnkzekA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-23</startDate>
            <endDate>2022-12-23</endDate>
        </period>
    </context>
    <context id="Duration_12_23_2022_To_12_23_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_9eNpjcrprkex2xe5xboRjg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-23</startDate>
            <endDate>2022-12-23</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_SecuredDebtMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_X1gOs8rlB0yesCbZpq1Xgg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-12-01</startDate>
            <endDate>2016-12-21</endDate>
        </period>
    </context>
    <context id="As_Of_12_23_2022_srt_RangeAxis_srt_MinimumMember_eQdQ3zQXGUSfJ_EhrwhU4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-23</instant>
        </period>
    </context>
    <context id="As_Of_12_23_2022_srt_RangeAxis_srt_MaximumMember_kE-WtCWnPkqoReTNzpG4KA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-23</instant>
        </period>
    </context>
    <context id="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_SecuredDebtMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_UsVIoeDDOUqJO4J02OUofQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-21</instant>
        </period>
    </context>
    <context id="As_Of_8_25_2021_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_h2UA2XL7JUi6lW0-TOJQVQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">tpcs:RanorIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-25</instant>
        </period>
    </context>
    <context id="As_Of_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_ccSScFM26keuwqvg7uPkJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt3.79InterestDueAugust2028Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-25</instant>
        </period>
    </context>
    <context id="As_Of_12_21_2016_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_CreditFacilityAxis_us-gaap_SecuredDebtMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_Pn7GfNxkZ0y_xFocEEH01g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">tpcs:RanorIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-21</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_gIzQS_7GpE-BJjoDlDacvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_hji5VqUs80GnpI8KTwQykg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanAt6.05InterestDueDecember2027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_hAeUcvCIy02zbi158M-6FQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorRevolverLoanAt7.69InterestDueAugust2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_h_M5GE4zBkuYC8t444o79Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_FDE5OMg5CEiIOt61hbcQ4g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanAt6.05InterestDueDecember2027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_dv9T9a4wSEOrdkoVn2z2rw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorRevolverLoanAt7.69InterestDueAugust2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="Duration_6_1_2024_To_6_1_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_lB4Q0kutyUynbBGYpF9uyg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-06-01</startDate>
            <endDate>2024-06-01</endDate>
        </period>
    </context>
    <context id="Duration_5_31_2024_To_5_31_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_69CdOSzDkES42y072zf_4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-05-31</startDate>
            <endDate>2024-05-31</endDate>
        </period>
    </context>
    <context id="Duration_8_25_2021_To_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_bf0Rjfw5KEGgs6KMDBRIBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanAt3.79InterestDueAugust2028Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-25</startDate>
            <endDate>2021-08-25</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_DeferredRevenueMember_LqoJEvKRgkeRNhPkPBauJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">tpcs:DeferredRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_CustomerDepositsMember_JtZioAHsbkmZFpKoYd5NBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">tpcs:CustomerDepositsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_DeferredRevenueMember_jBM3VZtLtkyZBaYlU_K8pA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">tpcs:DeferredRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_CustomerDepositsMember_gUGV-KTY0EeR6bQzjn0s2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">tpcs:CustomerDepositsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_us-gaap_UnbilledRevenuesMember_Fcoijz2byEizbxH9nZ5ghw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_tpcs_AdjustmentsProgressPaymentsReceivableMember_kg0OVmMjbUiOBWlpGq9MAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">tpcs:AdjustmentsProgressPaymentsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_us-gaap_UnbilledRevenuesMember_0wQ1Fp0cEkyycL5dp_-0MA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_tpcs_AdjustmentsProgressPaymentsReceivableMember_nrxGXOsDv0Ge9iuYTJTuZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">tpcs:AdjustmentsProgressPaymentsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_OneSupplierMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_URroydbBJ0KABqNKk-sNtA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:OneSupplierMember</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-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_Customers.Member_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Qcr25m_sT0aGOz1xeKKQAA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:Customers.Member</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-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerEMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uP606bRYkkub5jLrY-xnJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerEMember</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-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Je6N5JauTEOqr_IqF0wdSA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerDMember</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-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_sacaZwh8Fk-KsQaNM0cSMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerCMember</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-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerCDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_tpcs_TradeReceivablesMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Mcb6z5vrs06CxaUE_uhhog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerCDMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">tpcs:TradeReceivablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_xIdjh1dJLk-EPZgMDiEAqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerBMember</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-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_0TGJ8IGS30CWlm1TZji57g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerAMember</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-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_UeSjHtEonkOo-21HCuMNxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerAMember</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-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_OneSupplierMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_lviD3vpFlUShUb6_Sn4Zlw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:OneSupplierMember</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-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerEMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_izISuy5nsEiM9rLtOkG8Dw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerEMember</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-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_xC9kH_PJq0Wtw982OUBTsA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerDMember</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-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Yk4MBFc9Z0yFWUKjUO6xKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerDMember</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-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PJ0bhQsORkSbBtj4mqu7Kw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerCMember</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-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_x7QWNQp_u0iQ1pobcksUng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerBMember</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-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_00k-HqOGNkm7kXRZGjmtmA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerAMember</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-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_TJqd7Zd6xUGb_XnkoDgaig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerAMember</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-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_2_23_2023_fOoRGPoiakKzIRUmcjh2Cw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <instant>2023-02-23</instant>
        </period>
    </context>
    <context id="As_Of_2_22_2023_zOuuptjsrEmFOzM90fL_Nw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <instant>2023-02-22</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_nrF9dOccm0iWbvsD_mdgwg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tpcs:EquityIncentivePlan2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2022_URldAZsxQk-e2NkMeLkdSg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_hAnMRmfRzESD37lh8ef_bA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:StadcoAcquisitionLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_U8gUjmfvEUmrLoZxSVLNjg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:RanorIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_mpM5EootnEGF9WEVM6YG6A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_uGePGeSlw0Gy9lhf9NBi6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:StadcoAcquisitionLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_WqXOndtMdUi9s3aZRXQCJw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:RanorIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_pWniNexCs0e831MRWTuxWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_WarrantMember_Bo-QMGl8bkCWlsNe4w8hxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_L-FSWnPqUEKJF_VKbP9gjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_WarrantMember_QDlxNL3ZxEKvS4qB1Fon1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_-jI0UdwIhUKJPCFavF7MUg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_10_11_2023_To_10_11_2023_us-gaap_AwardTypeAxis_tpcs_ServiceBasedRestrictedStockTwoMember_1YoRNoIz6ki9OoASOoP0Xg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tpcs:ServiceBasedRestrictedStockTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-11</startDate>
            <endDate>2023-10-11</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_IncomeStatementLocationAxis_us-gaap_SellingGeneralAndAdministrativeExpensesMember_c3kUAyoCT02kEJf3OY21-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_SellingGeneralAndAdministrativeExpensesMember_NxVEv8o7DUOvqH9rhR_ZvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_c28_crNyV0u3HSQr3IOT7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerCMember</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>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WtEE3Lfmw0669Jd4tzKldA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerAMember</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>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_a81L9kbSGke5OtcVLMPFLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerDMember</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>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rSr5Dkm_IkCHvsNvVco5ZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerBMember</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>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_KhqefYGwyUu0tP1CK_F6nA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tpcs:CustomerAMember</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>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_2_2024_To_1_2_2024_srt_TitleOfIndividualAxis_tpcs_FormerChiefFinancialOfficerMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_98gr5MOvTUikgG0Cr5cnUQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">tpcs:FormerChiefFinancialOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tpcs:EquityIncentivePlan2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-02</startDate>
            <endDate>2024-01-02</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_yFyAORoEI0KE2DhoFuviwg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_WGakJHhYwkCFssdUJfzt4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_29_2024_To_4_29_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_Q-JdCBMx2kWTlx8wtXwsVg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-29</startDate>
            <endDate>2024-04-29</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7T2peg8aDkGntl6kWp5Kgg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_5_2_2024_To_5_2_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_fXK-mD-3B0mp9tLc01Y33A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-05-02</startDate>
            <endDate>2024-05-02</endDate>
        </period>
    </context>
    <context id="Duration_4_2_2024_To_4_2_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_fZRErHmOsEe4i1TFw36Aag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-02</startDate>
            <endDate>2024-04-02</endDate>
        </period>
    </context>
    <context id="Duration_9_15_2022_To_9_15_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementNonemployeeMember_gk7ScDZIWEeNmo0bAaWHSA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementNonemployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-15</startDate>
            <endDate>2022-09-15</endDate>
        </period>
    </context>
    <context id="Duration_8_3_2023_To_8_3_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_V5kWFx3sOE2qwR3-FNGbyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-03</startDate>
            <endDate>2023-08-03</endDate>
        </period>
    </context>
    <context id="As_Of_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_sV8HMYtNfkKVV4TwIw2bag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-07-03</instant>
        </period>
    </context>
    <context id="Duration_12_30_2022_To_12_30_2022_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_pXM7qosKWkutrCSrnwF8VQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-30</startDate>
            <endDate>2022-12-30</endDate>
        </period>
    </context>
    <context id="Duration_10_1_2022_To_12_31_2022_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_8GhnJhMNr0uIkvx1siuK7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_oHiMfUzd9kqTASKUNE5HkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_8_25_2021_To_8_25_2021_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_esWUXI2fN0WMKMhDbCxOyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">tpcs:RanorIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-25</startDate>
            <endDate>2021-08-25</endDate>
        </period>
    </context>
    <context id="As_Of_8_25_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_TqyME9GNOU2TVQyxoAb8xQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-25</instant>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_tpcs_TradeReceivablesMember_3l4iW77eqECfCDeek5BDrQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">tpcs:TradeReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_g1USBG1K9kmpZiRkVT0X-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_MZO7U7o6i0q-wwSvX2GqDQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tpcs:RevolverLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_Z08GjzS9H0i9IczFotrueA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:RanorTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-21</instant>
        </period>
    </context>
    <context id="As_Of_3_20_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_ABOSMhqirUuogJ4b4Zpn-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-20</instant>
        </period>
    </context>
    <context id="Duration_8_25_2021_To_8_25_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_dL5bww8fPUm5u_k8klBN5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-25</startDate>
            <endDate>2021-08-25</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanMember_1g62SHgvQ0ia8IfOe-kTnA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:StadcoTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-25</instant>
        </period>
    </context>
    <context id="Duration_12_21_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_NotesPayableOtherPayablesMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_kMiUPkmCpUSJM6hWiBAAFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-12-21</startDate>
            <endDate>2016-12-21</endDate>
        </period>
    </context>
    <context id="Duration_12_21_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_8ZsazWF5dUyyfUQAik72jQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-12-21</startDate>
            <endDate>2016-12-21</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_xvSsYUL0ikqE_UV6UpgLew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">tpcs:RanorIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_yvrHpEyhnEaFv1s9crDdxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_v72CklxSzUW7tTveCOHSzw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="Duration_7_13_2023_To_7_13_2023_srt_TitleOfIndividualAxis_srt_ChiefFinancialOfficerMember_idobkPO_Kkia9HD26fL6Tw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefFinancialOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-13</startDate>
            <endDate>2023-07-13</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_Zwk-OG94HkKtLU__1aKN2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_gQhFrTy3ZE6ZtXa3cLcl-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_nmcMgqINEUCdIEPVcAWGbg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:StadcoAcquisitionLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_eqbGpv8USkurAzyL5l7Hpg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:RanorIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_LI1NAr_ue0eqh_TFiOiFhQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_6e1V3cqNpUizJjHhzW-iXg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:StadcoAcquisitionLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_Cbmu2dDwBESGXYMmAdTdBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tpcs:RanorIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_jeEI0EdHx0icxSAglAlWRA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tpcs:BerkshireLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-21</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_8GZDsVIrukaitXKcVaxbzw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">tpcs:PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_VDwqQdIZJke8qwTwxeUXJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">tpcs:PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_jsdo4SVWZEKM3U9vIWdJAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">tpcs:PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_Edx8lG7umEyWFpd0LZSf2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_9_30_2023_6WGbCiEfPkadsppIHCZjxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <instant>2023-09-30</instant>
        </period>
    </context>
    <context id="As_Of_9_12_2024_txyChQXTvUiF2F7SeNcj0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <instant>2024-09-12</instant>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <unit id="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Standard_series_LPcGhCXu80q9Nan6hqJcuQ">
        <measure>tpcs:series</measure>
    </unit>
    <unit id="Unit_Standard_customer_qy87DfQ4RU2d4SFN2Z-jqg">
        <measure>tpcs:customer</measure>
    </unit>
    <unit id="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_item_oi67NW31uUCizwhUbF89_w">
        <measure>tpcs:item</measure>
    </unit>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      id="Hidden_ntBtN72zIEKTqa70Y7NT6A"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      id="Hidden_sT_OOh6npki8EM78ogecwg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ"
      xsi:nil="true"/>
    <dei:EntityCentralIndexKey
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_iuqy43SfIUeNBV0Hr5H6dw_2_1">0001328792</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_DxOKqvC4Qk2lYhTuQsuybQ_5_1">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_3NdXD7Hc40yzfgWPQCTcfg_6_1">false</dei:AmendmentFlag>
    <dei:EntityRegistrantName
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Hidden_930oC81QGUuhzV5cAXP6uw">TECHPRECISION CORP</dei:EntityRegistrantName>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Hidden_qWNwwZ4WtUWOlw0joiQ_vQ"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8777432</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="INF"
      id="Hidden_Fdg6ii3AE0mnWR9sRv1afw"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8613408</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="Duration_2_23_2023_To_2_23_2023_9_mImzpPeECOLpgGHl0mpQ"
      decimals="2"
      id="Hidden_EXe3YM4Mu0qaxLIQ7lbOKA"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.25</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_OAui2hxb80KfTBf1QiFlOA"
      id="Hidden_1sVous34DUSzD1snjPTZvg">P3M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_YFVOthIEbE-tU32NBvPkig"
      id="Hidden_FkHvfCt8KUec6QpcTBke7Q">P36M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_YFVOthIEbE-tU32NBvPkig"
      id="Hidden_nj5CQYlOek-k-FS5J1V5jQ">P36M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="Duration_2_23_2023_To_2_23_2023_9_mImzpPeECOLpgGHl0mpQ"
      decimals="2"
      id="Hidden_lpmwKBw8EUC6iReXMuMNUQ"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.25</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration
      contextRef="Duration_8_25_2021_To_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_bf0Rjfw5KEGgs6KMDBRIBA"
      id="Hidden_H1Ocu3HIa0-swMnW6HtfhQ">http://www.tech.pre.com/20240331#FederalHomeLoanBankOfBostonClassicAdvanceRateMember</us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration>
    <dei:DocumentType
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_-lqxZtH8cUahLH5r9GaiHg">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_3duucUgg0E-Cn1Q4mm0Yjw">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_kLISB3iHq0K5AoWLD-oSUg">2024-03-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_eK0Npn9NhE-OjfvtN9vY_g">--03-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_uaXR1pbfmEepKqTwk2C7nw">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_GRS4ZrlVqUqUq3YPpWx89w">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_onkBHXM3jkaTYa0Ajk6ArA">000-51378</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_OpzsrMHnKk6VSy024n5VOg_1_0">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_emhQf9Mh4U-1neUhU7TcDQ_1_2">51-0539828</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_VJ8wYePeCECHAqqnM-N2sQ_0_0">1 Bella Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_HrjtEXtA80-P5N7vqobFow">Westminster</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_eVbQLK40WkWILCR5K_ZUNg">MA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_8wizKNh1m0ij8n12RZFvSg_1_2">01473</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_JMbz7TSE70K3FsAPMA38Aw">978</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_q_E123Ne7E-iKI52XSVfrg">874-0591</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_-Tnm12dCJk2LZPPWuaLzEw_2_0">Common Stock, par value $0.0001 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_KtS_mxaH80i9i_FLJhsj7Q_2_2">TPCS</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_A_nXH2hyyEK_aJP-PtmYmA">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_TxdwcaqlmEibEK3_Vr_cWw">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_bVIPnJ_DQkCiCy5nfDS55g">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_-_0YswiKCEOP2bJf6rTnXQ">No</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_BGlHW8uYr0O3CV-ttuOs_w">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_wWdw1-o4cES58hQq1UHSLA_1_0">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_uGSXTILeK0CuVeZrmN4MNQ_1_5">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc__Wnz74xy9EuSyz5PfM7HGA_2_5">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_yFbXOqpckkCbE4FEhVp2ew">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_dMcw4HBdZkqrIM7CXl3teg">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_YcJtU18keU6mZZeGdFxUCQ">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="As_Of_9_30_2023_6WGbCiEfPkadsppIHCZjxw"
      decimals="-5"
      id="Narr_jazljRS20keVOt0M7i7dMw"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">53000000.0</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_9_12_2024_txyChQXTvUiF2F7SeNcj0w"
      decimals="0"
      id="Narr_4eHat_sJEUiG2XBNPOqEPA"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">9619232</dei:EntityCommonStockSharesOutstanding>
    <dei:AuditorFirmId
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_unwS2fXwL0ikSEeYdqfqCQ">688</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_kDNnoqG5RkuWB8dssQ9wAw">Marcum LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_Bo3YR-wTG0iuguuTA7g7JA">Philadelphia, Pennsylvania</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_Rcei31oCekK7v67wMub6GQ_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">138402</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_tNlQ0Pk1H0u6WTb01tAWuQ_5_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">534474</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_5AerOZ0biUqQsMj9XhYPjw_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2371264</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_zx2ADguWNkOfF4A3423Fsw_6_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2336481</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_PqELL-CPR0GwFW3U_95lWw_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">8526726</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_Lu9vMzRXCkSHlPBtaXA8cQ_7_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">8947811</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:InventoryRawMaterialsAndSupplies
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_6LixiuTChEaWuZ59m2UKJw_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1826765</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryRawMaterialsAndSupplies
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_hlwg4qjoYkiPs6EnZ4UZQw_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1692852</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_ePvordZud0qpVBDR2IDhMA_9_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1422938</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_XT8ceSbAc066YVTMOi2taw_9_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">719736</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:OtherAssetsCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_71P1lc87Mkm9MGWT1HfcHA_10_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">563688</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_pJ46M0dWtkC41dGb_0wxDQ_10_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">348983</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_Kp29kDMIREi-7k4B52lOBw_11_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">14849783</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_t8XPjg14oUqLskLR5Xpqkw_11_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">14580337</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_fXBiN4-VKkGxxNDLNKCcLg_12_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">14797991</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_mircnu9dJUCW3BgaZjYW3g_12_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">13914024</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_V4D85W2x9UeRHiA_NvVH7Q_13_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4977665</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_evqXRQriIUe1lEGdtwqaQw_13_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5660938</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_4X0Djrp6aESdBlIjtiX1Gg_14_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1931186</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_z1vFLKNlDk2YZlS-_Tk7Dw_15_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">121256</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_ULWyVwgJe0-k7o59jVajNA_15_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">121256</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_pu-W4cQBHUyfBHMJYoy5KQ_16_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">34746695</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_pikhHEOPEka6uOjG-OWu4A_16_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">36207741</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_MOoZCqbiYUSmQ82TNsjEpA_19_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1408356</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_XlwokhG-20eUNo-Kq9PW5A_19_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2224320</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_G4QoPk9t0USRyMXhOxT0YQ_20_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4262486</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_gyH0ZhG3VkaeWfjkQB3t3w_20_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2533185</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_DfKmWBe7y0GMrnwpLen8ZA_21_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3787933</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_52wv5xmop0CiIUr4RuvkVA_21_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2333591</us-gaap:ContractWithCustomerLiabilityCurrent>
    <tpcs:LeaseLiabilityCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_QP39dAAKH0WKWK8s_o7yWA_22_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">735871</tpcs:LeaseLiabilityCurrent>
    <tpcs:LeaseLiabilityCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_oO2KosWr5kGquqRr6DfVVw_22_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">711727</tpcs:LeaseLiabilityCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_vktlFflnZUChNNH3PtonCg_23_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">7558683</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_BOXtAUcBXUK63soyXPbi0Q_23_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1218162</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_h1SCpP4vmkiW9MYVYSLn7Q_24_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">17753329</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_fN2MDyAVlUWnKreRbuvyWA_24_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">9020985</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_CUkj6UTDG0KgX9x9UWSgsg_25_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4749139</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_jamdQAuWzkaE2jo7OWa7hQ_26_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4408103</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_MdNjj1PZ2E-2hjY9KP_Fqw_26_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5143974</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_rlKu4QnzJkKsLwpGPWThXQ_27_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4782372</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_3w4-HXXibkO3XSHCe4kleA_27_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2699492</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_WSpV-AMkvECCr--s4x1Glg_28_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">26943804</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_FCB_WD-j10-VqzbOWZVtaA_28_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">21613590</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="INF"
      id="Narr_PKMdUshqWkKVtZDjZWujJw"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Narr_Xr8DvNTFaE6XBIk7lLPucw"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="INF"
      id="Narr_DRGmiwcncke4ERAF3pHYZQ"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Narr_uYGI1U7n1UmGWtzKzaN1ig"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Narr_YUUExP2uCUa7DFIW6Q489A"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8777432</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="INF"
      id="Narr_vEx3Jo76MkK9Ach8tT2oVw"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8613408</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_HeUkiMMT0Ui_OZDLcIZkrw_31_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">878</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_QJlSrk2tRUmx9jZvhh7zeQ_31_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">861</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_vSP31CEroESD7Z2s_AnUzg_32_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">15200624</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_LwjVP8ePdkG6rcnCbc4rjw_32_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">14949729</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_80aPrfJbg0-cX8nImujijA_33_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-7398611</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_DyV7nLZSoUikdMN8Oje3Ig_33_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-356439</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_kYM6tAKJqEi8Ebu90EtK4g_34_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">7802891</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_LPi7RrDmxEmsS3RHAp3ZpQ_34_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">14594151</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_7I7RPn8gQkSOOFsugNQDMA_35_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">34746695</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_YSP6G1tC-Euq0S3SgES9_w_35_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">36207741</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_Ty7bOKvzx06GMftBDYEwsA_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">31591059</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_XJuHF8N0nkuHN0E3TbnPTA_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">31431614</us-gaap:Revenues>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_bSMBJvEPZ0K_I-Sxdc8M5A_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">27472883</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_6gv7rmcnjEKaB5Q4OFV-Rw_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">26527953</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_nitLjNirw0yIRwS_j0sOoA_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4118176</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_1O6kcUlOIkGbMk5lMQg-iA_5_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4903661</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc__3lWLQxD90WtdNPcBKTitg_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">8750376</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_qnalwRHRhkKv-H834PWf3g_6_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">6008881</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_kQiOJlaxfUOJaIYkA2a7Xg_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-4632200</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_ZYftg8R1wUmc35J1cvfc9A_7_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-1105220</us-gaap:OperatingIncomeLoss>
    <tpcs:OtherIncomeAndExpense
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_TN2xqQQE_U21lR-D5hoOVg_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">43363</tpcs:OtherIncomeAndExpense>
    <tpcs:OtherIncomeAndExpense
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_aozWvRT5Q0uISGIOiuznYg_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">40842</tpcs:OtherIncomeAndExpense>
    <us-gaap:InterestExpenseNonoperating
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_ym5CL2idpUqkvTlnx87hSQ_9_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">521108</us-gaap:InterestExpenseNonoperating>
    <us-gaap:InterestExpenseNonoperating
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_Q8QoimH-XkKYCEPfChF1LQ_9_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">355608</us-gaap:InterestExpenseNonoperating>
    <tpcs:EmployeeRetentionCreditRefund
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_ZNeDin7Gg0GrSDK9-TdkMA_10_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">636564</tpcs:EmployeeRetentionCreditRefund>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_niW6fpYN2EGOObybKfZyXw_11_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-477745</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_lz-K3nKx4kuaBEIUxsPatA_11_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">321798</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_owGo4hOM2kWjEYXjiQwBLQ_12_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-5109945</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_yokC5ntc6Ue64ZsdCs3vCQ_12_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-783422</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_Mv_Omez2cUeQerAJ_CY2Cg_13_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1932227</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_Ku2I3H6oqk-U4ilMDw683w_13_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">195584</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_FYYJXPrybU20p1mfw6bF-g_14_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-7042172</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_VGoPnnNwhUa7YvFnvMO3Og_14_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-979006</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="2"
      id="Tc_eSjeek3baEGSHh65rtjugQ_15_3"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">-0.81</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="2"
      id="Tc_Uo4dIOYTPkGE3lWVxpLcgA_15_6"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">-0.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="2"
      id="Tc_YhO73HoyLkWqj1Nuu75U7Q_16_3"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">-0.81</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="2"
      id="Tc_GZHfzarOCEWQQs5ClvqtAw_16_6"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">-0.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_BK861UU86kWUUU79qrx2bA_17_3"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8717160</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_55xqw8pxsUu8g54J-4Y4xA_17_6"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8595992</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_wme4Nl0yiESrYWukHG2kBQ_18_3"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8717160</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_aXbrIm2IV0Or0d2Tt8pxKQ_18_6"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8595992</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:SharesIssued
      contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_mb_BWrabQkOpeAQHDt0JJA"
      decimals="INF"
      id="Tc_QFl1Uc_f40OY9ldcOyNzVw_5_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8576862</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_mb_BWrabQkOpeAQHDt0JJA"
      decimals="0"
      id="Tc_AeGfc5RvRkCHLVb7b3WWtA_5_5"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">858</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_T33AawPJtkSnc7o03gvbxg"
      decimals="0"
      id="Tc_nw2vvIKTQEuOlnMN-MHO0A_5_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">14640343</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_FGcbh8UaDkuh-5cpHm4bjA"
      decimals="0"
      id="Tc__E3eDFjAokupQkAcogJrtA_5_11"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">622567</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2022_URldAZsxQk-e2NkMeLkdSg"
      decimals="0"
      id="Tc_IVoQcoVk80m58if-h4AywA_5_14"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">15263768</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_WGakJHhYwkCFssdUJfzt4w"
      decimals="0"
      id="Tc_yKm2X0GP4E2nA-2MGo3h_Q_6_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">109079</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_M6k8F9wChUCe9b2YIt4ESA_6_14"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">109079</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <tpcs:StockIssuedDuringPeriodSharesContingentConsideration
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7T2peg8aDkGntl6kWp5Kgg"
      decimals="INF"
      id="Tc_cj_5eRL1C0aTmggJghbn3Q_7_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">9127</tpcs:StockIssuedDuringPeriodSharesContingentConsideration>
    <tpcs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7T2peg8aDkGntl6kWp5Kgg"
      decimals="0"
      id="Tc_e7hAhamrMUmbZxr5NwR6BA_7_5"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1</tpcs:StockIssuedDuringPeriodValueContingentConsideration>
    <tpcs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_WGakJHhYwkCFssdUJfzt4w"
      decimals="0"
      id="Tc_O9SWvKdhKk23AROfEzScfg_7_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">56309</tpcs:StockIssuedDuringPeriodValueContingentConsideration>
    <tpcs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_mlNkddlY3kyA5jqw_AMjOg_7_14"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">56310</tpcs:StockIssuedDuringPeriodValueContingentConsideration>
    <tpcs:StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7T2peg8aDkGntl6kWp5Kgg"
      decimals="INF"
      id="Tc_nFw-527BE066E2bChRswdg_8_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">25000</tpcs:StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan>
    <tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7T2peg8aDkGntl6kWp5Kgg"
      decimals="0"
      id="Tc__n1sX0Cw_UG10EF0DrxiZg_8_5"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2</tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan>
    <tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_WGakJHhYwkCFssdUJfzt4w"
      decimals="0"
      id="Tc_vE3pMGJDBky078mEHsUNGg_8_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">143998</tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan>
    <tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_vDnqeMbN2UGitKawYtu30A_8_14"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">144000</tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan>
    <tpcs:StockSplitFractionalShareRoundUpInShares
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7T2peg8aDkGntl6kWp5Kgg"
      decimals="0"
      id="Tc_W76t1I1KQUqcVegyTHCMzw_9_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">2419</tpcs:StockSplitFractionalShareRoundUpInShares>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ywDkSImrxUmH26eaGTggYA"
      decimals="0"
      id="Tc_xtq5o0t8b0-YipfQZE2avQ_10_11"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-979006</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_sn8aW9YfE0eBGvRJK0MDzQ_10_14"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-979006</us-gaap:NetIncomeLoss>
    <us-gaap:SharesIssued
      contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7IxXPn1wokKqIKvOFZLy3A"
      decimals="INF"
      id="Tc_K6umh4elYUahZLJZL8bjwA_11_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8613408</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7IxXPn1wokKqIKvOFZLy3A"
      decimals="0"
      id="Tc_9-pDHeZOmkCy7a6McJNOUA_11_5"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">861</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_cHXiB6Prs0W_8I4EkWArWQ"
      decimals="0"
      id="Tc_XKWth0xcHk-YDjBZCgtHKQ_11_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">14949729</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Ey_sgK2tPkWln0P7Rh0HKg"
      decimals="0"
      id="Tc_hKx21dzFYkGZ7PbVoCj6ng_11_11"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-356439</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_59XwsiCfs0KKcOS2D-k1FA_11_14"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">14594151</us-gaap:StockholdersEquity>
    <tpcs:StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA"
      decimals="0"
      id="Tc_GV5E-e_DLUmNFnwdKUd-7A_12_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">25000</tpcs:StockIssuedDuringPeriodSharesNonemployeeDirectorStockOwnershipPlan>
    <tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA"
      decimals="0"
      id="Tc_IJUf831Pq0awXJOZd_4vVg_12_5"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3</tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan>
    <tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_yFyAORoEI0KE2DhoFuviwg"
      decimals="0"
      id="Tc_sId5Cg8Hok-RlNfvEe-Rng_12_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">177747</tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan>
    <tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_7rs83J0vVEWTZwDXkaNk9g_12_14"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">177750</tpcs:StockIssuedDuringPeriodValueNonemployeeDirectorsStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA"
      decimals="INF"
      id="Tc_CU5mBWtrIk-8o1Nj6X03fQ_13_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">109024</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA"
      decimals="0"
      id="Tc_a0q4YJiN70K6OTKCB1ooYw_13_5"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">11</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_yFyAORoEI0KE2DhoFuviwg"
      decimals="0"
      id="Tc_9-yvbdM52kWBbgqYKBFM2Q_13_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-11</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_yFyAORoEI0KE2DhoFuviwg"
      decimals="0"
      id="Tc_U6n5ZhFdCkmJk0UOg2ulOw_14_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">34013</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_CH1uJW_6eEi1NwzX1zVs4g_14_14"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">34013</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA"
      decimals="INF"
      id="Tc_r0-c2Be8O0a7vWzlWYYSjg_15_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">30000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4x-cxU4mYkS11g6MADeMTA"
      decimals="0"
      id="Tc_v2t3mYGLH0qiEkOJuXk6zA_15_5"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_yFyAORoEI0KE2DhoFuviwg"
      decimals="0"
      id="Tc_HruYiIoNZ02P26Q_J_7soQ_15_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">107172</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_uNdAKG2S_EKysayJ_jhGVQ_15_14"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">107175</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_yZ4LfliIO024zqPZyncitw"
      decimals="0"
      id="Tc_XHETb5javUWFsdmVEqV0fg_16_11"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-7042172</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_W-orofDgWUaO5RkgOWfszw_16_14"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-7042172</us-gaap:NetIncomeLoss>
    <us-gaap:SharesIssued
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_-5IntPUmBUuRmTldx4KY_g"
      decimals="INF"
      id="Tc_g2dXKK5oMkCkrbJyR-hVMA_17_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8777432</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_-5IntPUmBUuRmTldx4KY_g"
      decimals="0"
      id="Tc_zY8btfY-Gku4eRQJ8QyQxg_17_5"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">878</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eR7MOPsa3kiPRjFPWmFMCg"
      decimals="0"
      id="Tc_G2H8DWg0NUmzxOxbHTFAGg_17_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">15200624</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_WdssD4RQXkOr5lRCuDUwOw"
      decimals="0"
      id="Tc_-bqe930M9EO3weJA85TSng_17_11"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-7398611</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_CwJ5hNzxyk6DeE_81AiZSQ_17_14"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">7802891</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_wfCTiceXf0eJLw5YjFkbqA_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-7042172</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_gkGPgRRSPU6JyHGxzjqWvw_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-979006</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_KDz-rDoZe0GQuCFvyATX0Q_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2429377</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_xAw7_K2Z0UGSIG4URC91RA_6_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2217472</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_4k89j9nUbkeeeIu2CSr31g_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">106840</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_lhTHPjW680eNJYj6oEgKag_7_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">59916</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_mhsvVgu-v0eTwfp4rcZWdQ_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">39129</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_hunyXsXZG0yCiSXq3dBoAw_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">468</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_e1bGOkO800KwjJnE76k4xw_9_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">284925</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_vMEQu72aF0OQQRn4dfsA3g_9_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">253079</us-gaap:ShareBasedCompensation>
    <us-gaap:GainLossOnContractTermination
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_wcaly_ANsU-aLbn7zPs_Vg_10_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-190370</us-gaap:GainLossOnContractTermination>
    <us-gaap:GainLossOnContractTermination
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_GbvUlSj58UmKTqhAkNxoGA_10_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">237318</us-gaap:GainLossOnContractTermination>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_A3arXRYPy0O4CjxngUigWw_11_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1931186</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_WgyZAYie4kSW-QpF4OGasA_11_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">195584</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <tpcs:StockBasedAcquisitionTerminationFeesAmount
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_h8TMzk1Fi02mF2o44Mpzcw_12_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1116800</tpcs:StockBasedAcquisitionTerminationFeesAmount>
    <tpcs:StockBasedExpenseForContingentConsideration
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_-lMjq3rKQkOcTv011Vl7yg_13_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">56310</tpcs:StockBasedExpenseForContingentConsideration>
    <tpcs:GainLossFromContingentConsideration
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_XdxI-p7dpUunauHq0KxDtw_14_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">63436</tpcs:GainLossFromContingentConsideration>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_5Yy-TRrbiU-S_GA836QRZA_16_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">34783</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_nmksYrn-h0esZJ4Dj7QlMg_16_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-672768</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_tPtAmHAzCkGpzBbY4iqrKA_17_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-421085</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_FKWcu4gGEUWbFrcvkLTGKQ_17_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">597580</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_ol9BldGM8E2SZVDuqoUnNA_18_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">837115</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_2bqWOoQlB02hdkRe-AFz6Q_18_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">177914</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_d0INGlSYEUaY60-1Kc9iUw_19_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">214705</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_yCNX0-e2qUiQ9yyQDLNbTA_19_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-1072476</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_JRsYlVVU_0SSrq4Ldz0nxQ_20_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-815964</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_Nvf9H1m4j0yWtw_iO_-C-A_20_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-1202601</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_cl76tWIfz0uc5iYoV1v_qw_21_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">388116</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_8eld-iF8_0Ois8a4qMLMsQ_21_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-1094137</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <tpcs:IncreaseDecreaseInContractLiabilities
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_bU0V3DfI10OQm09XuI-JXw_22_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1454342</tpcs:IncreaseDecreaseInContractLiabilities>
    <tpcs:IncreaseDecreaseInContractLiabilities
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_AL92lvaJJU-QkWEdY19mAw_22_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">568273</tpcs:IncreaseDecreaseInContractLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_9mP_vflTlUSS-4GumStohA_23_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1965691</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_JvKYbzFIBE2PaICUXqvZJQ_23_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2394420</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_lepHWPsgKES-FO9XolvLGw_24_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1304864</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_izgtCB9yK02lH9jQ3erTKQ_24_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3137838</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_LbWD2n2ZWUCkAqluPLXZHw_26_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3230237</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_W2seS4cZgU-On4rG-aOUSg_26_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2325301</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <tpcs:ProceedsFromFixedAssetsInsuranceSettlement
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_FBNWhdw6UUKWUMwBtZb7cA_27_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">61944</tpcs:ProceedsFromFixedAssetsInsuranceSettlement>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_XZUUMDOySkKsNumGngTR5g_28_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">7000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_4QGuUXrd20yzHj-h4GId3Q_29_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-3168293</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_Rq8ackB4pEGHRFLnaVEuug_29_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-2318301</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <tpcs:ProceedsFromTermLoan
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_FHVARUbuiEmB7UwHDUbn7Q_31_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">7160000</tpcs:ProceedsFromTermLoan>
    <tpcs:ProceedsFromTermLoan
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_ILz6TJ28k0SImtqgJ7EiaA_31_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">10885150</tpcs:ProceedsFromTermLoan>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_-P3EpPcX-UGrvyYpaRYDyw_32_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5025000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_-xFZrdJr5Eiu9wUe6V6zUg_32_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">11522152</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:PaymentsOfLoanCosts
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_VwGfSUB3702y2JkX-B7vAg_33_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">50363</us-gaap:PaymentsOfLoanCosts>
    <us-gaap:PaymentsOfLoanCosts
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_r9j39kMBK0Gte-iynpAdZA_33_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">57723</us-gaap:PaymentsOfLoanCosts>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_kZiSa03IPkaGb0DCHwBy8g_34_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">17185</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_-6grOXpU8ECPC8vZ9REOhg_34_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">36572</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_IxwqaJdGJU61zZu837sCEw_35_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">600095</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_8hQDnh0zp02w6oDNPm_2_Q_35_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">605905</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_J4iNcAsmZ0qKDHgv_rkEuQ_36_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1467357</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_Wtx3P598L0WdWH-cZSVSbw_36_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-1337202</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_8LUebSC_1EOedmGLyAw87Q_37_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-396072</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_Ha0UEWh8SEGA-il3EJeeiw_37_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-517665</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_T3NIeDL4-0eMyKi-aqwJBQ_38_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">534474</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_3_31_2022_URldAZsxQk-e2NkMeLkdSg"
      decimals="0"
      id="Tc_ey5REPpp8UKPRfDlN5rvgA_38_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1052139</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_4AFujK5uj0yGYD7g117Srw_39_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">138402</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_UaEPWMkpS0eps6c1s3aOFw_39_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">534474</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_wev0BQL040yIxlJem7_MYg_41_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">414268</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_whhfVVvuI0muoVhbsfI6yg_41_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">288085</us-gaap:InterestPaidNet>
    <tpcs:CommonStockPursuantToOptionAwards
      contextRef="Duration_7_13_2023_To_7_13_2023_srt_TitleOfIndividualAxis_srt_ChiefFinancialOfficerMember_idobkPO_Kkia9HD26fL6Tw"
      decimals="INF"
      id="Narr_Dqutf_-R70Gl_TVmVOaoRA"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">125000</tpcs:CommonStockPursuantToOptionAwards>
    <tpcs:OptionsExercisedAsCashlessNetSettlementTransaction
      contextRef="Duration_7_13_2023_To_7_13_2023_srt_TitleOfIndividualAxis_srt_ChiefFinancialOfficerMember_idobkPO_Kkia9HD26fL6Tw"
      decimals="INF"
      id="Narr__6Yhq1JMm0my1Vv0QtLXNg"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">109024</tpcs:OptionsExercisedAsCashlessNetSettlementTransaction>
    <tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService
      contextRef="As_Of_3_31_2023_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_jsdo4SVWZEKM3U9vIWdJAw"
      decimals="INF"
      id="Narr_qnrp9RO94EiYdR46xSKPcw"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1770201</tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService>
    <tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent
      contextRef="As_Of_12_31_2022_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_8GZDsVIrukaitXKcVaxbzw"
      decimals="0"
      id="Narr_5PQnpGnmokaEp4RNZiM3Lg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">221272</tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent>
    <tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent
      contextRef="As_Of_12_31_2022_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_8GZDsVIrukaitXKcVaxbzw"
      decimals="0"
      id="Narr_ZC-vVDFva02pWjpfc7HCmQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1548929</tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent>
    <us-gaap:NatureOfOperations
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_N6cbBgfOeUu6QbYFp9lG2w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;1&#160;- DESCRIPTION OF BUSINESS&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;TechPrecision Corporation, or &#x201c;TechPrecision&#x201d;, is a Delaware corporation organized in February 2005 under the name Lounsberry Holdings II, Inc. On February 24, 2006, we acquired all the issued and outstanding capital stock of our wholly owned subsidiary Ranor, Inc., or &#x201c;Ranor.&#x201d; Ranor, together with its predecessors, has been in continuous operation since 1956. The name was changed to TechPrecision Corporation on March 6, 2006.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;TechPrecision is the parent company of Ranor, Westminster Credit Holdings, LLC, or &#x201c;WCH&#x201d;, Stadco New Acquisition, LLC, or &#x201c;Acquisition Sub&#x201d;, and Stadco. TechPrecision, Ranor, WCH, Acquisition Sub and Stadco are collectively referred to as the &#x201c;Company&#x201d;, &#x201c;we&#x201d;, &#x201c;us&#x201d; or &#x201c;our&#x201d;.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On August 25, 2021, the Company completed its acquisition of Stadco, pursuant to that certain stock purchase agreement with Acquisition Sub, Stadco Acquisition, LLC, Stadco and each equity holder of Stadco Acquisition, LLC. On the closing date, the Company, through Acquisition Sub, acquired all the issued and outstanding capital stock of Stadco from Stadco Acquisition, LLC in exchange for the issuance of shares of the Company&#x2019;s common stock to Stadco Acquisition, LLC. As a result of the acquisition, Stadco is now our wholly owned indirect subsidiary.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;We manufacture large-scale metal fabricated and machined precision components and equipment. These products are used in a variety of markets including defense and aerospace, nuclear, medical, and precision industrial. All our operations and customers are in the United States, or &#x201c;U.S.&#x201d;.&lt;/p&gt;</us-gaap:NatureOfOperations>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_cwBSgCuD3UCqnjbL-27PRA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;2&#160;- BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Basis of Presentation and Consolidation - &lt;/i&gt;The accompanying consolidated financial statements include the accounts of TechPrecision, Ranor, Stadco, and Westminster Credit Holdings, LLC. Intercompany transactions and balances have been eliminated in consolidation. On February 23, 2023, the Company effected a &lt;span style="-sec-ix-hidden:Hidden_EXe3YM4Mu0qaxLIQ7lbOKA;"&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;-for-four reverse stock split with respect to the issued and outstanding shares of TechPrecision common stock. All share and per-share amounts included in this Form 10-K are presented as if the stock split had been effective from the beginning of the earliest period presented.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Use of Estimates in the Preparation of Financial Statements&#160;-&lt;/i&gt; In preparing the consolidated financial statements in conformity with generally accepted accounting principles in the United States, or &#x201c;U.S. GAAP&#x201d;, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and revenues and expenses during the reported period. We continually evaluate our estimates, including those related to revenue recognition, long-lived assets, and income taxes. We base our estimates on historical and current experiences and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Going Concern, Risks and Uncertainties -&lt;/i&gt; For the fiscal years ended March 31, 2024 and 2023, we reported pre-tax losses of $5.1 million and $0.8 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;As of March 31, 2024, we had $0.6 million in total available liquidity, consisting of $0.1 million in cash and cash equivalents, and approximately $0.5 million in undrawn capacity under our revolver loan. As of March 31, 2023, we had $4.7 million in total available liquidity, consisting of $0.5 million in cash and cash equivalents, and $4.2 million in undrawn capacity under our revolver loan.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company is the borrower under a Loan Agreement which was amended on March 20, 2024 (as defined below; see Note 11 &#x2013; &lt;i style="font-style:italic;"&gt;Debt&lt;/i&gt;). On that date, Ranor and certain affiliates of the Company entered into a Seventh Amendment to Amended and Restated Loan Agreement and Third Amendment to Second Amended and Restated Promissory Note, or the &#x201c;Seventh Amendment&#x201d;. In addition to extending the maturity date of the revolver loan to May 20, 2024, the Seventh Amendment limited the amount of proceeds borrowed to $2.0 million in the aggregate for due diligence and professional costs incurred prior to May 20, 2024 in connection with any potential acquisitions. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;On May 28, 2024, Ranor and certain affiliates of the Company entered into the Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note, or the &#x201c;Eighth Amendment&#x201d; (see Note 12 &#x2013; &lt;i style="font-style:italic;"&gt;Debt&lt;/i&gt;). In addition to extending the maturity date of the revolver loan to August 30, 2024, the Eighth Amendment reduced the maximum principal amount from $5.0 million to $4.5 million and required that an operational assessment be performed, primarily at Stadco, by an &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;acceptable third-party consultant. The lender has acknowledged receipt of that operational assessment of Stadco as required pursuant to the Eighth Amendment. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#x201c;Ninth Amendment&#x201d;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company acknowledges that a certain event of default has occurred and is continuing under the Loan Agreement as a result of the Company&#x2019;s failure to satisfy the Debt Service Coverage Ratio, or DSCR, for the twelve-month period ending March 31, 2024. The lender reserves any and all rights and remedies available to it under the Loan Agreement, including, without limitation, its right to choose to accelerate and demand the outstanding indebtedness evidenced by the loan documents, and to seek immediate repayment in full.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;There was $7.6 million in total outstanding under the Loan Agreement on March 31, 2024. Without a waiver, the lender has the right, but not the obligation, to demand repayment from the Company for noncompliance with the debt covenants. In addition, the bank retains the right to act on covenant violations that occur after the date of delivery of any waiver. The lender has not granted us a waiver. As such, we need to seek alternative financing to pay these obligations as the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations. It is also probable that the Company will not be in compliance with the same debt covenants at subsequent measurement dates within the next twelve months. As a result of the above, all of our long-term debt has been classified as current in our consolidated balance sheet.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company is exploring various means of strengthening its liquidity position and ensuring compliance with its debt financing covenants by making Stadco operations profitable, renewing our revolver loan, or entering into alternative debt facilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On July 3, 2024, the Company entered into a Securities Purchase Agreement with certain accredited investors, pursuant to which the Company agreed to sell in a private placement at an aggregate purchase price of approximately $2.3 million, (i) 666,100 shares of the Company&#x2019;s common stock, par value $0.0001 per share, and (ii) common stock purchase warrants to purchase up to 666,100 shares of Common Stock. The combined purchase price for one Share and one Purchaser Warrant was $3.45. The purpose of the Securities sale under the Purchase Agreement is to raise working capital for use by the Company. The closing of the offering occurred on July 8, 2024. (see Note 17 &#x2013;&lt;i style="font-style:italic;"&gt; Subsequent Events&lt;/i&gt;). Placement agent&#x2019;s fees in connection with the offering totaled $126,014.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;In order for us to continue operations beyond the next twelve months from the date of issuance of the financial statements and to be able to discharge our liabilities and commitments in the normal course of business, we must renew our revolver loan or seek alternative financing by August 30, 2024. We must mitigate our recurring operating losses at our Stadco subsidiary, efficiently increase utilization of our manufacturing capacity at Stadco and improve the manufacturing process. We plan to closely monitor our expenses and, if required, will reduce operating costs to enhance liquidity.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The uncertainty associated with the recurring operating losses at Stadco, the revolver loan renewal, the need for alternative financing, and compliance with debt covenants at subsequent measurement dates raise substantial doubt about our ability to continue as a going concern for at least one-year after the date the consolidated financial statements included in this Annual Report on Form 10-K are issued.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;We believe our available cash, proceeds from a private placement offering, plus cash expected to be provided by operations and borrowing capacity available under the Revolver Loan (until August 2024 when the Company expects to renew), will be sufficient to fund our operations, expected capital expenditures, and principal and interest payments under our lease and debt obligations through the next 12 months from the issuance date of our financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The consolidated financial statements for the fiscal year ended March 31, 2024, were prepared on the basis of a going concern which contemplates that we will be able to realize assets and discharge liabilities in the normal course of business. Accordingly, they do not give effect to adjustments that would be necessary should we be required to liquidate assets. Our ability to satisfy our current liabilities and to continue as a going concern is dependent upon the Company&#x2019;s compliance with the debt covenants, renewing the revolver loan, and its ability to grow revenue and reduce costs at Stadco. The consolidated financial statements do not include any adjustments that might result from the outcome of these uncertainties.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Cash and cash equivalents -&lt;/i&gt; Holdings of highly liquid investments with maturities of three months or less, when purchased, are considered to be cash equivalents. Our deposit and money market accounts are maintained in a large U.S. regional bank.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Accounts receivable and allowance for credit losses&#160;- &lt;/i&gt;Accounts receivable are comprised of amounts billed and currently due from customers. Accounts receivables are amounts related to any unconditional right the Company has for receiving consideration and are presented as accounts receivables in the consolidated balance sheets. We maintain allowances for credit losses for estimated losses resulting from the inability of our customers to make required payments. Under the current expected credit loss model, we employ a roll-rate methodology, utilizing historical loss rates and historical trends in credit quality indicators (e.g., delinquency, risk ratings), adjusted to reflect current economic conditions and forecasts of future economic conditions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Management considers the following factors when determining the collectability of specific customer accounts: customer creditworthiness, past transaction history with the customer, current industry trends, and changes in customer payment terms. Our normal collection cycle ranges between thirty and forty days. Estimated uncollectible amounts are charged to earnings and a credit to a valuation allowance. Balances which remain outstanding after reasonable collection efforts are written off through a charge to the valuation allowance and a credit to accounts receivable. Historically, the level of uncollectible accounts has not been significant. An allowance for credit losses of $22,000 was recorded at March 31, 2024 and 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Inventories&#160;- &lt;/i&gt;Work-in-process and raw materials are stated at the lower of cost or net realizable value. Cost is determined by the first-in, first-out (FIFO) method.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Contract Assets&lt;/i&gt;&#160;- Contract assets represent the Company&#x2019;s rights to consideration for work completed but not billed as of the reporting date when the right to payment is not just subject to the passage of time. The amount of contract assets recorded in the consolidated balance sheet reflects revenue recognized on contracts less associated advances and progress billings. These amounts are billed in accordance with the agreed-upon contract terms or upon achievement of contract milestones and recorded at net realizable value.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Property, plant and equipment, net&#160;-&lt;/i&gt; Property, plant and equipment are recorded at cost less accumulated depreciation and amortization. Depreciation and amortization are accounted for on the straight-line method based on estimated useful lives. The amortization of leasehold improvements is based on the shorter of the lease term or the useful life of the improvement. Betterments and large renewals, which extend the life of the asset, are capitalized whereas maintenance and repairs and small renewals are expensed as incurred. The estimated useful lives are machinery and equipment, 5-15&#160;years; buildings,&#160;30 years; and leasehold improvements, 2-5&#160;years. Upon sale or retirement of machinery and equipment, costs and related accumulated depreciation are eliminated, and gains or losses are recognized in the statement of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Interest is capitalized for assets that are constructed or otherwise produced for our own use, including assets constructed or produced for us by others for which deposits or progress payments have been made. Interest is capitalized to the date the assets are available and ready for use. When an asset is constructed in stages, interest is capitalized for each stage until it is available and ready for use. We use the interest rate incurred on funds borrowed specifically for the project. The capitalized interest is recorded as part of the asset to which it relates and is amortized over the asset&#x2019;s estimated useful life.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;In accordance with Accounting Standards Codification, or &#x201c;ASC&#x201d;, 360, &lt;i style="font-style:italic;"&gt;Property, Plant&#160;&amp;amp; Equipment&lt;/i&gt;, our property, plant and equipment is tested for impairment when triggering events occur and, if impaired, written-down to fair value based on either discounted cash flows or appraised values. The carrying amount of an asset or asset group is not recoverable if it exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset or asset group.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Leases -&lt;/i&gt; Right-of-use assets for operating leases are measured at the initial amount of the lease liability adjusted for lease payments made at or before the lease commencement date, plus any initial direct costs incurred less any lease incentives received. Right-of-use assets for operating leases are subsequently measured throughout the lease term at the carrying amount of the lease liability, plus initial direct costs, plus (minus) any prepaid (accrued) lease payments, less the unamortized balance of lease incentives received. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Operating lease liabilities are initially measured at the present value of the unpaid lease payments at the lease commencement date. We have one and two finance leases outstanding as of March 31, 2024 and 2023, respectively. See Note 14, &lt;i style="font-style:italic;"&gt;Leases&lt;/i&gt;, for additional information.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Debt Issuance Costs&#160;-&lt;/i&gt; Costs incurred in connection with obtaining financing for long-term debt are capitalized and presented as a reduction of the carrying amount of the related debt. Costs incurred in connection with obtaining financing for revolving credit facilities and lines of credit are capitalized and presented as reduction of the carrying amount of the revolver loan. Loan acquisition costs are being amortized using the effective interest method over the term of the loan.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Contract Liabilities&lt;/i&gt;&#160;- Contract liabilities are comprised of advance payments, billings in excess of revenues, and deferred revenue amounts. Such advances are not generally considered a significant financing component because they are utilized to pay for contract &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;costs within a one-year period. Contract liability amounts are recognized as revenue once control over the underlying performance obligation has transferred to the customer.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Fair Value Measurements&#160;-&lt;/i&gt; We account for fair value of financial instruments in accordance with ASC 820,&lt;i style="font-style:italic;"&gt; Fair Value Measurement&lt;/i&gt;, which defines fair value and establishes a framework to measure fair value and the related disclosures about fair value measurements. The fair value of a financial instrument is the amount that could be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. Financial assets are marked to bid prices and financial liabilities are marked to offer prices. Fair value measurements do not include transaction costs. The Financial Accounting Standards Board, or FASB, establishes a fair value hierarchy used to prioritize the quality and reliability of the information used to determine fair values. Categorization within the fair value hierarchy is based on the lowest level of input that is significant to the fair value measurement. The fair value hierarchy is defined into the following three categories: Level 1:&#160;Inputs based upon quoted market prices for identical assets or&#160;liabilities in active markets at the measurement date; Level 2:&#160;Observable inputs other than quoted prices included in Level 1, such as quoted prices for similar assets and liabilities in active markets; quoted prices for identical or similar assets and liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data; and Level 3: Inputs that are management&#x2019;s best estimate of what market participants would use in pricing the asset or liability at the measurement date.&#160;The inputs are unobservable in the market and significant to the instruments&#x2019; valuation. In addition, we will measure fair value in an inactive or dislocated market based on facts and circumstances and significant management judgment. We will use inputs based on management estimates or assumptions or adjust observable inputs to determine fair value when markets are not active and relevant observable inputs are not available.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;ASC 825,&lt;i style="font-style:italic;"&gt; Financial Instruments&lt;/i&gt;, requires disclosures about the fair value of financial instruments. The carrying amount of cash and cash equivalents, accounts receivable, accounts payable, and accrued expenses, as presented in the balance sheet, approximates fair value due to the short-term nature of these instruments. The carrying value of short and long-term borrowings approximates their fair value.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Revenue Recognition&lt;/i&gt;&#160;- The Company accounts for revenue under Accounting Standards Update, or &#x201c;ASU&#x201d;, 2014-09, &lt;i style="font-style:italic;"&gt;Revenue from Contracts with Customers (Topic 606), &lt;/i&gt;or &#x201c;ASC 606&#x201d;, and related amendments&lt;i style="font-style:italic;"&gt;.&lt;/i&gt; ASC 606 sets forth five steps for revenue recognition: identification of the contract, identification of any separate performance obligations in the contracts, determination of the transaction price, allocation of the transaction price to separate performance obligations, and revenue recognition when performance obligations are satisfied.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company recognizes revenue over time based on the transfer of control of the promised goods or services to the customer. This transfer occurs over time when the Company has an enforceable right to payment for performance completed to date, and our performance does not create an asset that has an alternative use to the Company. Otherwise, control to the promised goods or services transfers to customers at a point in time. Our customers make advance payments and progress payments under the terms of each manufacturing contract.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The majority of the Company&#x2019;s contracts have a single performance obligation and provide title to, or grant a security interest in, work-in-process to the customer. In addition, these contracts contain enforceable rights to payment, allowing the Company to recover both its cost and a reasonable margin on performance completed to date. The combination of these factors indicates that the customer controls the asset and revenue is recognized as the asset is created or enhanced. The Company measures progress for performance obligations satisfied over time using input methods (e.g., costs incurred, resources consumed, labor hours expended, and time elapsed).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Under arrangements where the customer does not have title to, or a security interest in, the work-in-process, our evaluation of whether revenue should be recognized over time requires significant judgment about whether the asset has an alternative use and whether the entity has an enforceable right to payment for performance completed to date. When one or both of these factors is not present, the Company will recognize revenue at the point in time where control over the promised good or service transfers to the customer, i.e. when the customer has taken physical possession of the product the Company has built for the customer.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company and its customers may occasionally enter into contract modifications, including change orders. The Company may account for the modification as a separate contract, the termination of an old contract and creation of a new contract, or as part of the original contract, depending on the nature and pricing of the goods or services included in the modification. In general, contract modifications&#160;- as well as other changes in estimates of sales, costs, and profits on a performance obligation&#160;- are recognized using the cumulative catch-up method of accounting. This method recognizes in the current period the cumulative effect of the changes in current and prior periods. A significant change in an estimate on one or more contracts in a period could have a material effect on the consolidated balance sheet or results of operations for that period. For the fiscal&#160;year ended March&#160;31, 2024 and 2023, net cumulative catch-up adjustments were &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;not material. No individual adjustment was material to the Company&#x2019;s consolidated statements of operations loss for the fiscal&#160;year ended March&#160;31, 2024 and 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;If incentives and other contingencies are provided as part of the contract, the Company will include in the initial transaction price the consideration to which it expects to be entitled under the terms and conditions of the contract, generally estimated using an expected value or most likely amount approach. In the context of variable consideration, the Company limits, or constrains, the transaction price to amounts for which the Company believes a significant reversal of revenue is not probable. Adjustments to constrain the transaction price may be due to a portion of the transaction price being more than approved funding, a lack of history with the customer, a lack of history with the goods or services being provided, or other items.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Shipping and handling fees and costs incurred in connection with products sold are recorded in cost of sales in the consolidated statements of operations and are not considered a performance obligation to our customers.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Contract Estimates&lt;/i&gt;&#160;- In estimating contract costs, the Company takes into consideration a number of assumptions and estimates regarding risks related to technical requirements and scheduling. Management performs periodic reviews of the contracts to evaluate the underlying risks. Profit margin on any given project could increase if the Company is able to mitigate and retire such risks. Conversely, if the Company is not able to properly manage these risks, cost estimates may increase, resulting in a lower profit margin, or potentially, contract losses.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The cost estimation process requires significant judgment and is based upon the professional knowledge and experience of the Company&#x2019;s engineers, program managers, and financial professionals. Factors considered in estimating the work to be completed and ultimate contract recovery include the availability, productivity, and cost of labor, the nature and complexity of the work to be performed, the effect of change orders, the availability of materials, the effect of any delays in performance, the availability and timing of funding from the customer, and the recoverability of any claims included in the estimates to complete. Costs allocable to undelivered units are reported as work in process, a component of inventory, in the consolidated balance sheet. Pre-contract fulfillment costs requiring capitalization are not material.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Selling, general and administrative&lt;/i&gt;&#160;- Selling, general and administrative, or &#x201c;SG&amp;amp;A&#x201d;, expenses include items such as executive compensation and benefits, professional fees, business travel and office costs. Advertising costs are nominal and expensed as incurred. Other general and administrative expenses include items for our administrative functions and include costs for items such as office supplies, insurance, legal, accounting, telephone, and other outside services. SG&amp;amp;A consisted of the following for the fiscal&#160;years ended March&#160;31:&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;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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Salaries and related expenses&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,342,316&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,823,979&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Professional fees&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,721,487&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,795,904&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other general and administrative&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,719,615&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,388,998&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Due diligence advisory and legal fees related to acquisition termination&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,850,158&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Stock based acquisition termination fee&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,116,800&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total Selling, general and administrative&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,750,376&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,008,881&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;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Stock-based Compensation&#160;-&lt;/i&gt; Stock-based compensation represents the cost related to stock-based awards granted to our board of directors, employees, and consultants. We measure stock-based compensation cost at the grant date based on the estimated fair value of the award and recognize the cost as expense on a straight-line basis over the requisite service period. We estimate the fair value of stock options using a Black-Scholes valuation model. Stock-based compensation included in selling, general and administrative expense amounted to $284,925 and $253,079 for the fiscal years ended March 31, 2024 and 2023, respectively. See Note 7 for additional disclosures related to stock-based compensation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Net Loss per Share of Common Stock - &lt;/i&gt;Basic net loss per common share is computed by dividing net loss income by the weighted average number of shares outstanding during the year. Diluted net loss income per common share is calculated using net loss divided by diluted weighted-average shares. Diluted weighted-average shares include weighted-average shares outstanding plus the dilutive effect of stock options calculated using the treasury stock method. See Note 6 for additional disclosures related to net loss per share.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Income Taxes&#160;-&lt;/i&gt; In accordance with ASC&#160;740, &lt;i style="font-style:italic;"&gt;Income Taxes&lt;/i&gt;, income taxes are accounted for under the asset and liability method&lt;i style="font-style:italic;"&gt;.&lt;/i&gt; Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the&#160;years in which those temporary differences and carryforwards are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-weight:normal;"&gt;Valuation allowances are recorded to reduce deferred tax assets when it is more likely than not that a tax benefit will not be realized. We recognize the effect of income tax positions only if those positions are more likely than not to be sustained. Recognized income tax positions are measured at the largest amount that is greater than 50% likely of being realized. Changes in recognition or measurement are reflected in the period in which the change in judgment occurs.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-weight:normal;"&gt;We recognize interest and penalties accrued related to income tax liabilities in selling, general and administrative expense in our Consolidated Statements of Operations.&lt;/span&gt;&lt;/p&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_RH2Fw2o6FU-j-xzcIGd2sQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Basis of Presentation and Consolidation - &lt;/i&gt;The accompanying consolidated financial statements include the accounts of TechPrecision, Ranor, Stadco, and Westminster Credit Holdings, LLC. Intercompany transactions and balances have been eliminated in consolidation. On February 23, 2023, the Company effected a &lt;span style="-sec-ix-hidden:Hidden_EXe3YM4Mu0qaxLIQ7lbOKA;"&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;-for-four reverse stock split with respect to the issued and outstanding shares of TechPrecision common stock. All share and per-share amounts included in this Form 10-K are presented as if the stock split had been effective from the beginning of the earliest period presented.&lt;/p&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_etS2nWD2mUyxDk_boiu9NQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Use of Estimates in the Preparation of Financial Statements&#160;-&lt;/i&gt; In preparing the consolidated financial statements in conformity with generally accepted accounting principles in the United States, or &#x201c;U.S. GAAP&#x201d;, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and revenues and expenses during the reported period. We continually evaluate our estimates, including those related to revenue recognition, long-lived assets, and income taxes. We base our estimates on historical and current experiences and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <tpcs:RisksAndUncertaintiesPolicyPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_6jmABuwIUEyYhaLloUDtSw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Going Concern, Risks and Uncertainties -&lt;/i&gt; For the fiscal years ended March 31, 2024 and 2023, we reported pre-tax losses of $5.1 million and $0.8 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;As of March 31, 2024, we had $0.6 million in total available liquidity, consisting of $0.1 million in cash and cash equivalents, and approximately $0.5 million in undrawn capacity under our revolver loan. As of March 31, 2023, we had $4.7 million in total available liquidity, consisting of $0.5 million in cash and cash equivalents, and $4.2 million in undrawn capacity under our revolver loan.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company is the borrower under a Loan Agreement which was amended on March 20, 2024 (as defined below; see Note 11 &#x2013; &lt;i style="font-style:italic;"&gt;Debt&lt;/i&gt;). On that date, Ranor and certain affiliates of the Company entered into a Seventh Amendment to Amended and Restated Loan Agreement and Third Amendment to Second Amended and Restated Promissory Note, or the &#x201c;Seventh Amendment&#x201d;. In addition to extending the maturity date of the revolver loan to May 20, 2024, the Seventh Amendment limited the amount of proceeds borrowed to $2.0 million in the aggregate for due diligence and professional costs incurred prior to May 20, 2024 in connection with any potential acquisitions. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;On May 28, 2024, Ranor and certain affiliates of the Company entered into the Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note, or the &#x201c;Eighth Amendment&#x201d; (see Note 12 &#x2013; &lt;i style="font-style:italic;"&gt;Debt&lt;/i&gt;). In addition to extending the maturity date of the revolver loan to August 30, 2024, the Eighth Amendment reduced the maximum principal amount from $5.0 million to $4.5 million and required that an operational assessment be performed, primarily at Stadco, by an &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;acceptable third-party consultant. The lender has acknowledged receipt of that operational assessment of Stadco as required pursuant to the Eighth Amendment. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#x201c;Ninth Amendment&#x201d;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company acknowledges that a certain event of default has occurred and is continuing under the Loan Agreement as a result of the Company&#x2019;s failure to satisfy the Debt Service Coverage Ratio, or DSCR, for the twelve-month period ending March 31, 2024. The lender reserves any and all rights and remedies available to it under the Loan Agreement, including, without limitation, its right to choose to accelerate and demand the outstanding indebtedness evidenced by the loan documents, and to seek immediate repayment in full.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;There was $7.6 million in total outstanding under the Loan Agreement on March 31, 2024. Without a waiver, the lender has the right, but not the obligation, to demand repayment from the Company for noncompliance with the debt covenants. In addition, the bank retains the right to act on covenant violations that occur after the date of delivery of any waiver. The lender has not granted us a waiver. As such, we need to seek alternative financing to pay these obligations as the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations. It is also probable that the Company will not be in compliance with the same debt covenants at subsequent measurement dates within the next twelve months. As a result of the above, all of our long-term debt has been classified as current in our consolidated balance sheet.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company is exploring various means of strengthening its liquidity position and ensuring compliance with its debt financing covenants by making Stadco operations profitable, renewing our revolver loan, or entering into alternative debt facilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On July 3, 2024, the Company entered into a Securities Purchase Agreement with certain accredited investors, pursuant to which the Company agreed to sell in a private placement at an aggregate purchase price of approximately $2.3 million, (i) 666,100 shares of the Company&#x2019;s common stock, par value $0.0001 per share, and (ii) common stock purchase warrants to purchase up to 666,100 shares of Common Stock. The combined purchase price for one Share and one Purchaser Warrant was $3.45. The purpose of the Securities sale under the Purchase Agreement is to raise working capital for use by the Company. The closing of the offering occurred on July 8, 2024. (see Note 17 &#x2013;&lt;i style="font-style:italic;"&gt; Subsequent Events&lt;/i&gt;). Placement agent&#x2019;s fees in connection with the offering totaled $126,014.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;In order for us to continue operations beyond the next twelve months from the date of issuance of the financial statements and to be able to discharge our liabilities and commitments in the normal course of business, we must renew our revolver loan or seek alternative financing by August 30, 2024. We must mitigate our recurring operating losses at our Stadco subsidiary, efficiently increase utilization of our manufacturing capacity at Stadco and improve the manufacturing process. We plan to closely monitor our expenses and, if required, will reduce operating costs to enhance liquidity.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The uncertainty associated with the recurring operating losses at Stadco, the revolver loan renewal, the need for alternative financing, and compliance with debt covenants at subsequent measurement dates raise substantial doubt about our ability to continue as a going concern for at least one-year after the date the consolidated financial statements included in this Annual Report on Form 10-K are issued.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;We believe our available cash, proceeds from a private placement offering, plus cash expected to be provided by operations and borrowing capacity available under the Revolver Loan (until August 2024 when the Company expects to renew), will be sufficient to fund our operations, expected capital expenditures, and principal and interest payments under our lease and debt obligations through the next 12 months from the issuance date of our financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The consolidated financial statements for the fiscal year ended March 31, 2024, were prepared on the basis of a going concern which contemplates that we will be able to realize assets and discharge liabilities in the normal course of business. Accordingly, they do not give effect to adjustments that would be necessary should we be required to liquidate assets. Our ability to satisfy our current liabilities and to continue as a going concern is dependent upon the Company&#x2019;s compliance with the debt covenants, renewing the revolver loan, and its ability to grow revenue and reduce costs at Stadco. The consolidated financial statements do not include any adjustments that might result from the outcome of these uncertainties.&lt;/p&gt;</tpcs:RisksAndUncertaintiesPolicyPolicyTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="-5"
      id="Narr_2Koj-H55TEWJgekoMmMMnA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-5100000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="-5"
      id="Narr_DBLH07OXk0mXU5NLjHlJNQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-800000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <tpcs:TotalAvailableLiquidity
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_nPtCuHb6XkerwX0ChXrRTw"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">600000</tpcs:TotalAvailableLiquidity>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_8GvVKfVa-EmR2ohtu0QT3g"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">100000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_8pav8u-l10uSsCcAK-yUfg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">500000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <tpcs:TotalAvailableLiquidity
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="-5"
      id="Narr_qRQV_OPT_UGS-BNYJEd_lA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4700000</tpcs:TotalAvailableLiquidity>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="-5"
      id="Narr_mHVvpEJnWEmNp_F1h7MgSA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">500000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="-5"
      id="Narr_tzPGuKM_YUCWAp85KjUZ4g"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4200000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <tpcs:LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts
      contextRef="As_Of_3_20_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_ABOSMhqirUuogJ4b4Zpn-w"
      decimals="-5"
      id="Narr_yXiCfCBbDEuhku3Y-WSJpg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2000000.0</tpcs:LineOfCreditLimitationsInUseForDueDiligenceAndProfessionalCosts>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_vcRMbv3wNEGsIfKFv4jOxA"
      decimals="-5"
      id="Narr_Sf8W5pzdmkGi_9U6SmOvXg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_5_28_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_Ji5swtgxfkuaF-KgnM6Ovw"
      decimals="-5"
      id="Narr_tv71IqfdB02RrczmslgwEQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_28NYI-AdzUi03e8TfKsX7A"
      decimals="-5"
      id="Narr_iFWK185gVEmZTHuvGV0XVw"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">7600000</us-gaap:LineOfCredit>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="Duration_7_3_2024_To_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_ZGcMv0h32UK2IQw9D1ABfw"
      decimals="-5"
      id="Narr_XwPUeb6_uEKd7igvPpVSpQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2300000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="Duration_7_3_2024_To_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_ZGcMv0h32UK2IQw9D1ABfw"
      decimals="INF"
      id="Narr_xrLjE-JsVECMrBR-JcX95w"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">666100</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_sV8HMYtNfkKVV4TwIw2bag"
      decimals="INF"
      id="Narr_RswSx-5NXUOeGWn0cCgRxw"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="As_Of_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_sV8HMYtNfkKVV4TwIw2bag"
      decimals="INF"
      id="Narr_Xh4-zCh8KEyEMKR4ZZ1RNw"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">666100</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <tpcs:SaleOfStockAndWarrantPricePerShare
      contextRef="As_Of_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_sV8HMYtNfkKVV4TwIw2bag"
      decimals="2"
      id="Narr_VThbRl9jwkuYU_WjOMHc_Q"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">3.45</tpcs:SaleOfStockAndWarrantPricePerShare>
    <us-gaap:NoninterestExpenseTransferAgentAndCustodianFees
      contextRef="Duration_7_3_2024_To_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_ZGcMv0h32UK2IQw9D1ABfw"
      decimals="0"
      id="Narr_iwPg0ATbsk2IixFS_N31zw"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">126014</us-gaap:NoninterestExpenseTransferAgentAndCustodianFees>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_fW3rBOwSv06jPCdQaXN01g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Cash and cash equivalents -&lt;/i&gt; Holdings of highly liquid investments with maturities of three months or less, when purchased, are considered to be cash equivalents. Our deposit and money market accounts are maintained in a large U.S. regional bank.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:ReceivablesPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_vPL7WIid_k6pSToiIG7eow">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Accounts receivable and allowance for credit losses&#160;- &lt;/i&gt;Accounts receivable are comprised of amounts billed and currently due from customers. Accounts receivables are amounts related to any unconditional right the Company has for receiving consideration and are presented as accounts receivables in the consolidated balance sheets. We maintain allowances for credit losses for estimated losses resulting from the inability of our customers to make required payments. Under the current expected credit loss model, we employ a roll-rate methodology, utilizing historical loss rates and historical trends in credit quality indicators (e.g., delinquency, risk ratings), adjusted to reflect current economic conditions and forecasts of future economic conditions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Management considers the following factors when determining the collectability of specific customer accounts: customer creditworthiness, past transaction history with the customer, current industry trends, and changes in customer payment terms. Our normal collection cycle ranges between thirty and forty days. Estimated uncollectible amounts are charged to earnings and a credit to a valuation allowance. Balances which remain outstanding after reasonable collection efforts are written off through a charge to the valuation allowance and a credit to accounts receivable. Historically, the level of uncollectible accounts has not been significant. An allowance for credit losses of $22,000 was recorded at March 31, 2024 and 2023.&lt;/p&gt;</us-gaap:ReceivablesPolicyTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Narr_50RDefMBxkCApbVZfxTzaA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">22000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Narr_GjgGh1s_hkma8iALHsaWEA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">22000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_usFmxVWih0eRrr8_XNB4fg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Inventories&#160;- &lt;/i&gt;Work-in-process and raw materials are stated at the lower of cost or net realizable value. Cost is determined by the first-in, first-out (FIFO) method.&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <tpcs:ContractAssetsPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_ZhjdePnbH0G8Dc5-Yjof7Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Contract Assets&lt;/i&gt;&#160;- Contract assets represent the Company&#x2019;s rights to consideration for work completed but not billed as of the reporting date when the right to payment is not just subject to the passage of time. The amount of contract assets recorded in the consolidated balance sheet reflects revenue recognized on contracts less associated advances and progress billings. These amounts are billed in accordance with the agreed-upon contract terms or upon achievement of contract milestones and recorded at net realizable value.&lt;/p&gt;</tpcs:ContractAssetsPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_-1GCYpRKcUadvH7EqCcJLg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Property, plant and equipment, net&#160;-&lt;/i&gt; Property, plant and equipment are recorded at cost less accumulated depreciation and amortization. Depreciation and amortization are accounted for on the straight-line method based on estimated useful lives. The amortization of leasehold improvements is based on the shorter of the lease term or the useful life of the improvement. Betterments and large renewals, which extend the life of the asset, are capitalized whereas maintenance and repairs and small renewals are expensed as incurred. The estimated useful lives are machinery and equipment, 5-15&#160;years; buildings,&#160;30 years; and leasehold improvements, 2-5&#160;years. Upon sale or retirement of machinery and equipment, costs and related accumulated depreciation are eliminated, and gains or losses are recognized in the statement of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Interest is capitalized for assets that are constructed or otherwise produced for our own use, including assets constructed or produced for us by others for which deposits or progress payments have been made. Interest is capitalized to the date the assets are available and ready for use. When an asset is constructed in stages, interest is capitalized for each stage until it is available and ready for use. We use the interest rate incurred on funds borrowed specifically for the project. The capitalized interest is recorded as part of the asset to which it relates and is amortized over the asset&#x2019;s estimated useful life.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;In accordance with Accounting Standards Codification, or &#x201c;ASC&#x201d;, 360, &lt;i style="font-style:italic;"&gt;Property, Plant&#160;&amp;amp; Equipment&lt;/i&gt;, our property, plant and equipment is tested for impairment when triggering events occur and, if impaired, written-down to fair value based on either discounted cash flows or appraised values. The carrying amount of an asset or asset group is not recoverable if it exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset or asset group.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_ppmpedlrQU-U7W3gkd5spw"
      id="Narr_vXAnKsYLFU6SMW8LS0BwTQ">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_aWMCkWlB0kSk-sPyeDzCYg"
      id="Narr_QY2VSlG6FE-e_3Q9cCLKcg">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_joU_ClbzJUOoNjkJOQhWbQ"
      id="Narr_jcAWokF-9E-rRb8F5EmhLg">P30Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_AQiOM43YE0qgDCofkenMRg"
      id="Narr_lY02GndDSk-rha_5kPJezA">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_Bspxyde9CkyLuueZvrDawA"
      id="Narr_j8XEFj_VKUacs4vYemREJw">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_V6PRB5HVgEWgyXvKGeNgtg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Leases -&lt;/i&gt; Right-of-use assets for operating leases are measured at the initial amount of the lease liability adjusted for lease payments made at or before the lease commencement date, plus any initial direct costs incurred less any lease incentives received. Right-of-use assets for operating leases are subsequently measured throughout the lease term at the carrying amount of the lease liability, plus initial direct costs, plus (minus) any prepaid (accrued) lease payments, less the unamortized balance of lease incentives received. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Operating lease liabilities are initially measured at the present value of the unpaid lease payments at the lease commencement date. We have one and two finance leases outstanding as of March 31, 2024 and 2023, respectively. See Note 14, &lt;i style="font-style:italic;"&gt;Leases&lt;/i&gt;, for additional information.&lt;/p&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <tpcs:DebtIssuanceCostsPolicyPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_lQQAsNdMn0-lUFRh193kCA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Debt Issuance Costs&#160;-&lt;/i&gt; Costs incurred in connection with obtaining financing for long-term debt are capitalized and presented as a reduction of the carrying amount of the related debt. Costs incurred in connection with obtaining financing for revolving credit facilities and lines of credit are capitalized and presented as reduction of the carrying amount of the revolver loan. Loan acquisition costs are being amortized using the effective interest method over the term of the loan.&lt;/p&gt;</tpcs:DebtIssuanceCostsPolicyPolicyTextBlock>
    <tpcs:ContractLiabilitiesPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_KDafYnq-mUitT4ZfsDLM3g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Contract Liabilities&lt;/i&gt;&#160;- Contract liabilities are comprised of advance payments, billings in excess of revenues, and deferred revenue amounts. Such advances are not generally considered a significant financing component because they are utilized to pay for contract &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;costs within a one-year period. Contract liability amounts are recognized as revenue once control over the underlying performance obligation has transferred to the customer.&lt;/p&gt;</tpcs:ContractLiabilitiesPolicyTextBlock>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_JXv_5vS-1kOtvLbE67iAHg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Fair Value Measurements&#160;-&lt;/i&gt; We account for fair value of financial instruments in accordance with ASC 820,&lt;i style="font-style:italic;"&gt; Fair Value Measurement&lt;/i&gt;, which defines fair value and establishes a framework to measure fair value and the related disclosures about fair value measurements. The fair value of a financial instrument is the amount that could be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. Financial assets are marked to bid prices and financial liabilities are marked to offer prices. Fair value measurements do not include transaction costs. The Financial Accounting Standards Board, or FASB, establishes a fair value hierarchy used to prioritize the quality and reliability of the information used to determine fair values. Categorization within the fair value hierarchy is based on the lowest level of input that is significant to the fair value measurement. The fair value hierarchy is defined into the following three categories: Level 1:&#160;Inputs based upon quoted market prices for identical assets or&#160;liabilities in active markets at the measurement date; Level 2:&#160;Observable inputs other than quoted prices included in Level 1, such as quoted prices for similar assets and liabilities in active markets; quoted prices for identical or similar assets and liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data; and Level 3: Inputs that are management&#x2019;s best estimate of what market participants would use in pricing the asset or liability at the measurement date.&#160;The inputs are unobservable in the market and significant to the instruments&#x2019; valuation. In addition, we will measure fair value in an inactive or dislocated market based on facts and circumstances and significant management judgment. We will use inputs based on management estimates or assumptions or adjust observable inputs to determine fair value when markets are not active and relevant observable inputs are not available.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;ASC 825,&lt;i style="font-style:italic;"&gt; Financial Instruments&lt;/i&gt;, requires disclosures about the fair value of financial instruments. The carrying amount of cash and cash equivalents, accounts receivable, accounts payable, and accrued expenses, as presented in the balance sheet, approximates fair value due to the short-term nature of these instruments. The carrying value of short and long-term borrowings approximates their fair value.&lt;/p&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_BWtr8708SEO097K4BFXeow">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Revenue Recognition&lt;/i&gt;&#160;- The Company accounts for revenue under Accounting Standards Update, or &#x201c;ASU&#x201d;, 2014-09, &lt;i style="font-style:italic;"&gt;Revenue from Contracts with Customers (Topic 606), &lt;/i&gt;or &#x201c;ASC 606&#x201d;, and related amendments&lt;i style="font-style:italic;"&gt;.&lt;/i&gt; ASC 606 sets forth five steps for revenue recognition: identification of the contract, identification of any separate performance obligations in the contracts, determination of the transaction price, allocation of the transaction price to separate performance obligations, and revenue recognition when performance obligations are satisfied.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company recognizes revenue over time based on the transfer of control of the promised goods or services to the customer. This transfer occurs over time when the Company has an enforceable right to payment for performance completed to date, and our performance does not create an asset that has an alternative use to the Company. Otherwise, control to the promised goods or services transfers to customers at a point in time. Our customers make advance payments and progress payments under the terms of each manufacturing contract.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The majority of the Company&#x2019;s contracts have a single performance obligation and provide title to, or grant a security interest in, work-in-process to the customer. In addition, these contracts contain enforceable rights to payment, allowing the Company to recover both its cost and a reasonable margin on performance completed to date. The combination of these factors indicates that the customer controls the asset and revenue is recognized as the asset is created or enhanced. The Company measures progress for performance obligations satisfied over time using input methods (e.g., costs incurred, resources consumed, labor hours expended, and time elapsed).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Under arrangements where the customer does not have title to, or a security interest in, the work-in-process, our evaluation of whether revenue should be recognized over time requires significant judgment about whether the asset has an alternative use and whether the entity has an enforceable right to payment for performance completed to date. When one or both of these factors is not present, the Company will recognize revenue at the point in time where control over the promised good or service transfers to the customer, i.e. when the customer has taken physical possession of the product the Company has built for the customer.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company and its customers may occasionally enter into contract modifications, including change orders. The Company may account for the modification as a separate contract, the termination of an old contract and creation of a new contract, or as part of the original contract, depending on the nature and pricing of the goods or services included in the modification. In general, contract modifications&#160;- as well as other changes in estimates of sales, costs, and profits on a performance obligation&#160;- are recognized using the cumulative catch-up method of accounting. This method recognizes in the current period the cumulative effect of the changes in current and prior periods. A significant change in an estimate on one or more contracts in a period could have a material effect on the consolidated balance sheet or results of operations for that period. For the fiscal&#160;year ended March&#160;31, 2024 and 2023, net cumulative catch-up adjustments were &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;not material. No individual adjustment was material to the Company&#x2019;s consolidated statements of operations loss for the fiscal&#160;year ended March&#160;31, 2024 and 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;If incentives and other contingencies are provided as part of the contract, the Company will include in the initial transaction price the consideration to which it expects to be entitled under the terms and conditions of the contract, generally estimated using an expected value or most likely amount approach. In the context of variable consideration, the Company limits, or constrains, the transaction price to amounts for which the Company believes a significant reversal of revenue is not probable. Adjustments to constrain the transaction price may be due to a portion of the transaction price being more than approved funding, a lack of history with the customer, a lack of history with the goods or services being provided, or other items.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Shipping and handling fees and costs incurred in connection with products sold are recorded in cost of sales in the consolidated statements of operations and are not considered a performance obligation to our customers.&lt;/p&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <tpcs:ContractEstimatesPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_LoxgzyRSWUGr3sEQVEVySQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Contract Estimates&lt;/i&gt;&#160;- In estimating contract costs, the Company takes into consideration a number of assumptions and estimates regarding risks related to technical requirements and scheduling. Management performs periodic reviews of the contracts to evaluate the underlying risks. Profit margin on any given project could increase if the Company is able to mitigate and retire such risks. Conversely, if the Company is not able to properly manage these risks, cost estimates may increase, resulting in a lower profit margin, or potentially, contract losses.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The cost estimation process requires significant judgment and is based upon the professional knowledge and experience of the Company&#x2019;s engineers, program managers, and financial professionals. Factors considered in estimating the work to be completed and ultimate contract recovery include the availability, productivity, and cost of labor, the nature and complexity of the work to be performed, the effect of change orders, the availability of materials, the effect of any delays in performance, the availability and timing of funding from the customer, and the recoverability of any claims included in the estimates to complete. Costs allocable to undelivered units are reported as work in process, a component of inventory, in the consolidated balance sheet. Pre-contract fulfillment costs requiring capitalization are not material.&lt;/p&gt;</tpcs:ContractEstimatesPolicyTextBlock>
    <us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_2gJlZfO4X0KKjbGXf1ZzNQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Selling, general and administrative&lt;/i&gt;&#160;- Selling, general and administrative, or &#x201c;SG&amp;amp;A&#x201d;, expenses include items such as executive compensation and benefits, professional fees, business travel and office costs. Advertising costs are nominal and expensed as incurred. Other general and administrative expenses include items for our administrative functions and include costs for items such as office supplies, insurance, legal, accounting, telephone, and other outside services. SG&amp;amp;A consisted of the following for the fiscal&#160;years ended March&#160;31:&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;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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Salaries and related expenses&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,342,316&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,823,979&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Professional fees&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,721,487&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,795,904&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other general and administrative&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,719,615&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,388,998&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Due diligence advisory and legal fees related to acquisition termination&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,850,158&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Stock based acquisition termination fee&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,116,800&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total Selling, general and administrative&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,750,376&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,008,881&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock>
    <tpcs:ScheduleOfSellingGeneralAndAdministrativeTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_JsBWVakzRU2HD3xTtK2weA">&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;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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Salaries and related expenses&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,342,316&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,823,979&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Professional fees&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,721,487&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,795,904&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other general and administrative&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,719,615&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,388,998&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Due diligence advisory and legal fees related to acquisition termination&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,850,158&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Stock based acquisition termination fee&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,116,800&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total Selling, general and administrative&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,750,376&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,008,881&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</tpcs:ScheduleOfSellingGeneralAndAdministrativeTableTextBlock>
    <us-gaap:LaborAndRelatedExpense
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_z5b_PgRJSkyUzbMaRaVhxA_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2342316</us-gaap:LaborAndRelatedExpense>
    <us-gaap:LaborAndRelatedExpense
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_n7D8sYwP_EW2xVb0jaFiQA_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2823979</us-gaap:LaborAndRelatedExpense>
    <us-gaap:ProfessionalFees
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_4cm7o7vbd0OdZDS6s58FaA_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1721487</us-gaap:ProfessionalFees>
    <us-gaap:ProfessionalFees
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_zPY0U0gb40qP3HZt4fjAuQ_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1795904</us-gaap:ProfessionalFees>
    <us-gaap:OtherGeneralAndAdministrativeExpense
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_UdiQOZO8qU-DNK9YrTOnHw_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1719615</us-gaap:OtherGeneralAndAdministrativeExpense>
    <us-gaap:OtherGeneralAndAdministrativeExpense
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_Nfrspok9lkKENqsVlYuXVQ_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1388998</us-gaap:OtherGeneralAndAdministrativeExpense>
    <tpcs:AdvisoryAndLegalFeesRelatedToAcquistionTermination
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_Heklai953UeSX3A12G5hvw_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1850158</tpcs:AdvisoryAndLegalFeesRelatedToAcquistionTermination>
    <tpcs:StockBasedAcquisitionTerminationFeesAmount
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_kMrCOdCuqEGZudJ7_8H-aA_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1116800</tpcs:StockBasedAcquisitionTerminationFeesAmount>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_7UeL1V9CPkWMaStf6mAQtA_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">8750376</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_dVOZCwhmpEKQRipaLJ9JoA_7_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">6008881</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_nFgG88saqkWhfiVUVdt06Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Stock-based Compensation&#160;-&lt;/i&gt; Stock-based compensation represents the cost related to stock-based awards granted to our board of directors, employees, and consultants. We measure stock-based compensation cost at the grant date based on the estimated fair value of the award and recognize the cost as expense on a straight-line basis over the requisite service period. We estimate the fair value of stock options using a Black-Scholes valuation model. Stock-based compensation included in selling, general and administrative expense amounted to $284,925 and $253,079 for the fiscal years ended March 31, 2024 and 2023, respectively. See Note 7 for additional disclosures related to stock-based compensation.&lt;/p&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_IncomeStatementLocationAxis_us-gaap_SellingGeneralAndAdministrativeExpensesMember_c3kUAyoCT02kEJf3OY21-w"
      decimals="0"
      id="Narr_MurTwFZODkiK_L4F70jc6g"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">284925</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_SellingGeneralAndAdministrativeExpensesMember_NxVEv8o7DUOvqH9rhR_ZvQ"
      decimals="0"
      id="Narr_bR9MowUf_EKbh9zRgyRPqg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">253079</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_1LZAVXHplUSdwIT3sS-d0A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Net Loss per Share of Common Stock - &lt;/i&gt;Basic net loss per common share is computed by dividing net loss income by the weighted average number of shares outstanding during the year. Diluted net loss income per common share is calculated using net loss divided by diluted weighted-average shares. Diluted weighted-average shares include weighted-average shares outstanding plus the dilutive effect of stock options calculated using the treasury stock method. See Note 6 for additional disclosures related to net loss per share.&lt;/p&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_IUePvT_lF022WJmdP3IDmQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Income Taxes&#160;-&lt;/i&gt; In accordance with ASC&#160;740, &lt;i style="font-style:italic;"&gt;Income Taxes&lt;/i&gt;, income taxes are accounted for under the asset and liability method&lt;i style="font-style:italic;"&gt;.&lt;/i&gt; Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the&#160;years in which those temporary differences and carryforwards are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-weight:normal;"&gt;Valuation allowances are recorded to reduce deferred tax assets when it is more likely than not that a tax benefit will not be realized. We recognize the effect of income tax positions only if those positions are more likely than not to be sustained. Recognized income tax positions are measured at the largest amount that is greater than 50% likely of being realized. Changes in recognition or measurement are reflected in the period in which the change in judgment occurs.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-weight:normal;"&gt;We recognize interest and penalties accrued related to income tax liabilities in selling, general and administrative expense in our Consolidated Statements of Operations.&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_kOTKQCnxoEOE6Vz_6HIEgA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;NOTE 3 &#x2013; ACCOUNTING STANDARDS UPDATE&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;New Accounting Standards Recently Adopted&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;In June 2016, the Financial Accounting Standards Board, or &#x201c;FASB&#x201d;, issued ASU 2016-13, &lt;i style="font-style:italic;"&gt;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&lt;/i&gt;, as amended subsequently by ASUs 2018-19, 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The guidance in these ASUs requires that credit losses be reported using an expected losses model rather than the incurred losses model that is currently used. The standard also establishes additional disclosures related to credit risks. This standard was effective for fiscal years beginning after December 15, 2022. The adoption of this ASU on April 1, 2023, did not have a significant impact on the Company&#x2019;s consolidated financial statements and disclosures.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;New Accounting Standards Not Yet Adopted&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;In December 2023, the FASB issued ASU 2023-09&lt;i style="font-style:italic;"&gt;,&lt;/i&gt; &lt;i style="font-style:italic;"&gt;Income Taxes&lt;/i&gt; &lt;i style="font-style:italic;"&gt;(Topic 740):&lt;/i&gt; &lt;i style="font-style:italic;"&gt;Improvements to Income Tax Disclosures&lt;/i&gt;. The amendments in ASU 2023-09 address investor requests for more transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. This standard update is effective for annual reporting periods beginning after December 15, 2024. The Company is currently evaluating this update to determine the impact it may have on its consolidated financial statements and disclosures.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;In November 2023, the FASB issued ASU 2023-07, &lt;i style="font-style:italic;"&gt;Segment Reporting &#x2013; Improvements to Reportable Segment Disclosures&lt;/i&gt;. The guidance in this update enhances segment reporting by expanding the breadth and frequency of segment disclosures required for public entities and allows registrants to disclose multiple measures of segment profit or loss. This update requires a public entity to disclose its significant segment expense categories and amounts for each reportable segment. A significant segment expense is any significant expense incurred by the segment, including direct expenses, shared expenses, allocated corporate overhead, or interest expense that is regularly reported to the Chief Operating Decision Maker, or CODM, and is included in the measure of segment profit or loss. This standard update is effective for fiscal years beginning after December 15, 2023, and interim periods in fiscal years beginning after December 15, 2024. The Company is currently evaluating this update to determine the impact it may have on its consolidated financial statements and disclosures.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_UuJFsCo74kmLRgyljlpZlQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;4&#160;&#x2013; REVENUE&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company generates revenue primarily from performance obligations completed under contracts with customers in two main market sectors: defense and precision industrial. The period over which the Company performs its obligations can be between &lt;span style="-sec-ix-hidden:Hidden_1sVous34DUSzD1snjPTZvg;"&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; and &lt;span style="-sec-ix-hidden:Hidden_FkHvfCt8KUec6QpcTBke7Q;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;thirty -six months&lt;/span&gt;&lt;/span&gt;. The Company invoices and receives related payments based upon performance progress not less frequently than&#160;monthly.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Revenue is recognized over-time or at a point-in-time given the terms and conditions of the related contracts. The Company utilizes an inputs methodology based on estimated labor hours to measure performance progress. This model best depicts the transfer of control to the customer. The Company&#x2019;s contract portfolio is comprised of fixed-price contracts and provide for product type sales only. The following table presents net sales on a disaggregated basis by market and contract type:&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;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:62.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:62.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Net Sales by market&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;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:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Defense&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;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:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;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:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:62.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Year ended March 31, 2024&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,405,569&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 185,490&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,591,059&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Year ended March 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,935,138&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 496,476&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,431,614&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;margin:0pt;"&gt;&lt;span style="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:62.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:62.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Net Sales by contract type&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Over-time&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Point-in-time&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:62.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Year ended March 31, 2024&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;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:1.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,412,981&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;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:1.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,178,078&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,591,059&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Year ended March 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,785,799&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,645,815&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,431,614&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;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;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;As of March&#160;31, 2024, the Company had $50.0 million of remaining performance obligations, of which $41.4 million was less than 50% complete. The Company expects to recognize all its remaining performance obligations as revenue within the next &lt;span style="-sec-ix-hidden:Hidden_nj5CQYlOek-k-FS5J1V5jQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;thirty-six&#160;months&lt;/span&gt;&lt;/span&gt;.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;We are dependent each&#160;year on a small number of customers who generate a significant portion of our business, and these customers change from&#160;year to&#160;year. The following table sets forth revenues from customers who accounted for more than 10% of our net sales for the fiscal&#160;years ended March 31:&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;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:58.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:58.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Customer&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percent&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percent&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer A&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,050,470&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,352,394&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer B&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,257,616&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; *&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; *&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer C&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,779,592&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer D&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,830,958&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,248,773&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer E&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,319,827&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,838,734&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;*&lt;/i&gt;&lt;i style="font-style:italic;"&gt;Less than 10% of total&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;In our consolidated balance sheet, contract assets and contract liabilities are reported in a net position on a contract-by-contract basis at the end of each reporting period. Contract assets consist of the following at:&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;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:62.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:62.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Progress&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td 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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:62.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unbilled&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payments&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,254,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,727,786)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,526,726&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;March 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,485,914&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,538,103)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,947,811&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;font-weight:bold;margin:0pt;"&gt;&lt;span style="font-weight:normal;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;In fiscal 2024 and 2023, we recognized revenue of $1.2 million and $1.8 million related to our contract liabilities at April&#160;1, 2023 and 2022, respectively. Contract liabilities consist of the following at:&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;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:62.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:62.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Deferred&#160;revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Customer&#160;Deposits&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,103,567&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,684,366&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,787,933&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;March 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,195,298&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,138,293&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,333,591&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;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_gVGfefn8BUC1V4M268PsOQ">&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;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:62.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:62.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Net Sales by market&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;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:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Defense&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;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:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;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:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:62.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Year ended March 31, 2024&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,405,569&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 185,490&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,591,059&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Year ended March 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,935,138&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 496,476&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,431,614&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;margin:0pt;"&gt;&lt;span style="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:62.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:62.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Net Sales by contract type&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Over-time&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Point-in-time&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:62.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Year ended March 31, 2024&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;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:1.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,412,981&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;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:1.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,178,078&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,591,059&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Year ended March 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,785,799&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,645,815&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,431,614&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_DefenseMember_tROc3SA-IkWKxvjAYkJbmQ"
      decimals="0"
      id="Tc_6Nx7T848zU2ND-npFoaXVQ_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">31405569</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_IndustrialMember_0g0nyb43gUepG6bI-XquHQ"
      decimals="0"
      id="Tc_f-2LS1pTxkOYvGAejSs91Q_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">185490</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_4poChp_bR0qy_0cQpA77pw_2_9"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">31591059</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_DefenseMember_audOhR0YkUO6hZHQWRJ4jg"
      decimals="0"
      id="Tc_XEw6QZKxD0CNVHmEIxsDWw_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">30935138</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_IndustrialMember_qZFlhmoLwEOrI9L1pVJVCg"
      decimals="0"
      id="Tc_oL3a0KDvJkSpmHXLzrWIpg_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">496476</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_EtOn16nBPE-u48sJ9IdIgw_3_9"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">31431614</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_Ds0WxFAebEKqid7xvKze9w"
      decimals="0"
      id="Tc_oZGs_ntMs0-vZFsn86dWZA_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">30412981</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_Vr3ivxaCik-leVjXGyttfA"
      decimals="0"
      id="Tc_qmEbMDMhTEiN7AajobkO6A_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1178078</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_qqqaHx8FCk2qoHyoD_C5XQ_2_9"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">31591059</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_glnFIRTD8ke9W2RZqlUQzQ"
      decimals="0"
      id="Tc_jZ8KKoHwwkGHM-m-Z68K0g_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">29785799</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_kN-u57DMnEqYjglReZGvTg"
      decimals="0"
      id="Tc_DfZDsM7gykuG6GgwxFz0Ew_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1645815</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_clHohsgD4ECccjARr1cS3A_3_9"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">31431614</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_Ag-2iYw-pES_dYUd69Z5kQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">50000000.0</us-gaap:RevenueRemainingPerformanceObligation>
    <tpcs:RevenueRemainingPerformanceObligationCompletedLessThan50
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_t9bGxGb9J0OjN6ETYdJbIg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">41400000</tpcs:RevenueRemainingPerformanceObligationCompletedLessThan50>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="2"
      id="Narr_qZdMBvzowE21UeoWuEI-RQ"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.50</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesMember_y1voELxO9E6LF4V-MnTg_g"
      id="Tb_PDxCwVXAzkqT163ZDyaLOg">&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;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:58.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:58.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Customer&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percent&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percent&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer A&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,050,470&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,352,394&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer B&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,257,616&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; *&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; *&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer C&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,779,592&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer D&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,830,958&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,248,773&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:58.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer E&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,319,827&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,838,734&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;*&lt;/i&gt;&lt;i style="font-style:italic;"&gt;Less than 10% of total&lt;/i&gt;&lt;/p&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_0TGJ8IGS30CWlm1TZji57g"
      decimals="0"
      id="Tc_8l4iRvNu7EySjnqrfecXbw_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">9050470</us-gaap:Revenues>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_0TGJ8IGS30CWlm1TZji57g"
      decimals="2"
      id="Tc_Rr_kwaCIoUKWfklXOt2HYg_3_5"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.29</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_00k-HqOGNkm7kXRZGjmtmA"
      decimals="0"
      id="Tc_BG2RGzneikqd4fmU-gKhLQ_3_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">6352394</us-gaap:Revenues>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_00k-HqOGNkm7kXRZGjmtmA"
      decimals="2"
      id="Tc_lzzP6jcS_UuBuZCeOKgrqg_3_10"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_xIdjh1dJLk-EPZgMDiEAqg"
      decimals="0"
      id="Tc_IWghtWAiWU6ou1LkzOSMaw_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3257616</us-gaap:Revenues>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_xIdjh1dJLk-EPZgMDiEAqg"
      decimals="2"
      id="Tc_jUJsbhPvwEC3G83GZJyp-g_4_5"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PJ0bhQsORkSbBtj4mqu7Kw"
      decimals="0"
      id="Tc_Oxq89B-SUUaawuyr63Dntw_5_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4779592</us-gaap:Revenues>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PJ0bhQsORkSbBtj4mqu7Kw"
      decimals="2"
      id="Tc_DGQOO5VHE0uyyEd30z9MoQ_5_10"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Je6N5JauTEOqr_IqF0wdSA"
      decimals="0"
      id="Tc_Pyw7RzYlxU6pxFYzsQzyJw_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3830958</us-gaap:Revenues>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Je6N5JauTEOqr_IqF0wdSA"
      decimals="2"
      id="Tc_iHt8a1HYHE-CMBzrMVrOoQ_6_5"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_xC9kH_PJq0Wtw982OUBTsA"
      decimals="0"
      id="Tc_Ud6LFDGCZkeXM6UcaO3EqA_6_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3248773</us-gaap:Revenues>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_xC9kH_PJq0Wtw982OUBTsA"
      decimals="2"
      id="Tc_35ZMZdKwKk6H7AJw9vpouw_6_10"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerEMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uP606bRYkkub5jLrY-xnJA"
      decimals="0"
      id="Tc_Va073eV3lUyanOS-arWcsw_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3319827</us-gaap:Revenues>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerEMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uP606bRYkkub5jLrY-xnJA"
      decimals="2"
      id="Tc_cdGESorrEEuvmWyag4B7ZQ_7_5"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerEMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_izISuy5nsEiM9rLtOkG8Dw"
      decimals="0"
      id="Tc_LvnDeVeotEi-Wf8j0O3okQ_7_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5838734</us-gaap:Revenues>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerEMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_izISuy5nsEiM9rLtOkG8Dw"
      decimals="2"
      id="Tc_4I5JaVljVka1TzPvSkIaew_7_10"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Group_Z8VgYw4WgEGgaBP_K2kExg">&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;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:62.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:62.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Progress&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td 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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:62.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unbilled&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payments&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,254,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,727,786)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,526,726&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;March 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,485,914&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,538,103)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,947,811&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;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:62.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:62.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Deferred&#160;revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Customer&#160;Deposits&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,103,567&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,684,366&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,787,933&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;March 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,195,298&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,138,293&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,333,591&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;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2024_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_us-gaap_UnbilledRevenuesMember_Fcoijz2byEizbxH9nZ5ghw"
      decimals="0"
      id="Tc_CAmvGMYTYk2v8VUlSCyvKw_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">19254512</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2024_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_tpcs_AdjustmentsProgressPaymentsReceivableMember_kg0OVmMjbUiOBWlpGq9MAw"
      decimals="0"
      id="Tc_Zq4IpRUNpkeU0oBWCY9W2A_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-10727786</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_VtlsTtf0Tk-1yyTDfmC0HA_3_9"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">8526726</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2023_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_us-gaap_UnbilledRevenuesMember_0wQ1Fp0cEkyycL5dp_-0MA"
      decimals="0"
      id="Tc_pKg64V93v0W__dovpfBrUg_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">19485914</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2023_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_tpcs_AdjustmentsProgressPaymentsReceivableMember_nrxGXOsDv0Ge9iuYTJTuZA"
      decimals="0"
      id="Tc_gVThY5zxmUeq5NIdo_YjYw_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-10538103</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_9whJYDs8_0Ww9DuGvOsQKA_4_9"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">8947811</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="-5"
      id="Narr_eMZYs9kqkk6EUkUzY3-i-g"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1200000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="-5"
      id="Narr_q-sxLnEsU0aAojuRDhCo2Q"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1800000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_DeferredRevenueMember_LqoJEvKRgkeRNhPkPBauJQ"
      decimals="0"
      id="Tc_1C8X4OlaJUiFsqaEhVaaZw_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2103567</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2024_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_CustomerDepositsMember_JtZioAHsbkmZFpKoYd5NBQ"
      decimals="0"
      id="Tc_bvY-9_wGDkyT_tWFc7URMQ_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1684366</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_JaOw934MvkS47SNrHBFEgw_2_9"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3787933</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_DeferredRevenueMember_jBM3VZtLtkyZBaYlU_K8pA"
      decimals="0"
      id="Tc__h-g8fr7UEmH9LCorDrYDA_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1195298</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_tpcs_CustomerDepositsMember_gUGV-KTY0EeR6bQzjn0s2g"
      decimals="0"
      id="Tc_hyf9GFEr7UmaD6IL4qEu-g_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1138293</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_eMD2j0gsm0i1lxRTb0MUEQ_3_9"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2333591</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_7XSwVQMYeUWarIRFLgQiXA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;5&#160;&#x2013; INCOME TAXES&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;We account for income taxes under ASC 740, &lt;i style="font-style:italic;"&gt;Income Taxes&lt;/i&gt;. The following table reflects income and loss from continuing operations by location, and the provision for income taxes for the applicable fiscal&#160;years ended March&#160;31:&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;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:70%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Loss before income taxes &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (5,109,945)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (783,422)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,932,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 195,584&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7,042,172)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (979,006)&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;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The components of the income tax provision consist of the following for the fiscal years ended March 31:&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;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:70%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;State&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,041&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total Current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,041&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;  &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,087,627&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (261,372)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;State&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (156,441)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 456,956&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total Deferred&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,931,186&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 195,584&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income tax expense (benefit) &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,932,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 195,584&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;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Our fiscal 2024 and 2023 taxes were measured at the U.S. statutory income tax rate of 21%. A reconciliation between income taxes computed at the U.S. federal statutory rate to the actual tax expense for income taxes reported in the Consolidated Statements of Operations follows for fiscal years ended March 31:&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;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:70.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:70.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 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.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;U.S. statutory income tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,073,088)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (164,519)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;State income tax, net of federal benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (164,433)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (151,878)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Nondeductible items related to business combination and dissolved foreign entity&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 65,482&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Change in state NOLs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 239,622&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,141,588&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 216,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (20,983)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,160&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,932,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 195,584&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Effective tax rate*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 37.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Effective tax rate is calculated by dividing the income tax provision by loss before income taxes.&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The following table summarizes the components of deferred income tax assets and liabilities at March 31:&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;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net operating loss carryforward&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,302,402&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,839,915&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 142,232&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 213,308&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Stock based compensation awards&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,525&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 242,579&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,195,891&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other items not currently deductible&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 536,664&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 126,792&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,184,714&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,422,594&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (5,311,680)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,170,094)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,873,034&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,252,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,562,744)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,971,644)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,157,079)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Contract accounting methods &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (153,211)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (349,670)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,873,034)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,321,314)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred taxes, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,931,186&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;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;At December 31, 2023, the Company identified a need to increase the tax valuation allowance based on cumulative operating losses in recent years. Following an evaluation, we determined, however, that the required adjustments, recorded in the fourth quarter, were not material for the period ended December 31, 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;In assessing the recoverability of deferred tax assets, we consider whether it is more likely than not that some portion or all of the deferred tax assets will not be realized. We have determined that it is more likely than not that certain future tax benefits may not be &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;realized. The assessment was based on the weight of negative evidence at the balance sheet date, our recent operating losses and unsettled circumstances that, if unfavorably resolved, would adversely affect future operations and profit levels. Accordingly, a valuation allowance has been recorded against deferred tax assets that are unlikely to be realized. Realization of deferred tax assets will depend on the generation of sufficient taxable income in the appropriate jurisdictions, the reversal of deferred tax liabilities, tax planning strategies and other factors prior to the expiration date of the carryforwards. A change in the estimates used to make this determination could require an increase or a reduction the valuation allowance currently recorded against those deferred tax assets. The valuation allowance on deferred tax assets was approximately $5.3 million at March 31, 2024. We believe that it is more likely than not that the benefit from certain NOL carryforwards and other deferred tax assets will not be realized.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;At March 31, 2024 we had federal net operating losses of $19.3 million which begin to expire in 2026. The Internal Revenue Code provides for a limitation on the annual use of net operating loss carryforwards following certain ownership changes that could limit our ability to utilize these carryforwards on a yearly basis. Also, U.S. tax laws may limit the time during which these loss carryforwards may be applied against future taxes. As such, certain pre-2021 Stadco net operating loss carryforwards available for TechPrecision&#x2019;s consolidated tax group may be limited. Our remaining pre-2021 net operating losses total approximately $9.9 million.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;We have not accrued any penalties with respect to uncertain tax positions. We file income tax returns in the U.S. federal jurisdiction and various U.S. state jurisdictions. Tax years 2021 and forward remain open for examination.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_A3h4OSSI306JeV_LKRnb-w">&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;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:70%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Loss before income taxes &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (5,109,945)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (783,422)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,932,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 195,584&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7,042,172)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (979,006)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_Z1dz5o-RzEibaJCOA8VeuQ_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-5109945</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_yaHmZlrpeE-MZSE6PFvmFw_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-783422</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_pZENY15lIUCIMsspcxTgSg_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1932227</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_Ma8l9Qez10CR3tpsJldwEA_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">195584</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_qWl-GkFvYkiBMRH9_NrRIQ_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-7042172</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_4Mvx_VqvWUqWcCWPCbdVAA_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-979006</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_o9NE1WYtA0uhfDX3HmsoHA">&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;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:70%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;State&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,041&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total Current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,041&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;  &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,087,627&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (261,372)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;State&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (156,441)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 456,956&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total Deferred&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,931,186&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 195,584&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income tax expense (benefit) &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,932,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 195,584&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_-ON9VH1ZMUaxJ8O1MinrmQ_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1041</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_l1DvK6DKkESWQxM8v2jBJw_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1041</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_mZn_Sql7bEqBR-ZTOdtvxg_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2087627</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_ouDG2ViSl0GrLmgkN05K8Q_7_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-261372</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_44bf5L6f2Emn9cuib6Ajjg_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-156441</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_qHKuJETL5Ey-DR8KEtmc_A_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">456956</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_YUJgvxtnzkukh7kSGa3Mgw_9_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1931186</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_IPqBtiQhUUeJsegWxiVLJQ_9_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">195584</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_ezfI1D_y8E2-dsgU7FvOrw_10_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1932227</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_tnoFzkngFU2zzksb84tRcw_10_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">195584</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="2"
      id="Narr_x983QdG9W0GcOFva6EyRNg"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="2"
      id="Narr_B3i9h8-lYEOJOWBbwnJ-QQ"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_Zg0a6OR2ik26pGfcKlAyzg">&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;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:70.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:70.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 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.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;U.S. statutory income tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,073,088)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (164,519)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;State income tax, net of federal benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (164,433)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (151,878)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Nondeductible items related to business combination and dissolved foreign entity&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 65,482&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Change in state NOLs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 239,622&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,141,588&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 216,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (20,983)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,160&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,932,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 195,584&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:70.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Effective tax rate*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 37.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Effective tax rate is calculated by dividing the income tax provision by loss before income taxes.&lt;/i&gt;&lt;/p&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_QgKmO9sBqk2I__z_7fEfsQ_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-1073088</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_6W0j75xL00K0y8KKLA9EbQ_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-164519</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_PkDR_OMxRkmXAor5n9M5OQ_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-164433</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_BYNqcNvBv0WverTLg24d1A_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-151878</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <tpcs:NondeductibleItemsRelatedToDissolvedForeignEntity
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_QZKsd9UCIEihqKqFYmn2hw_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">65482</tpcs:NondeductibleItemsRelatedToDissolvedForeignEntity>
    <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_Q_daxtYZ2UujDyZX4JlZ0g_5_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">239622</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_oOqs2xZUTE28QQEUjrMxLA_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3141588</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_G7wFmYPD90CwhW1K4MfF3w_6_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">216485</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_EFHEsNYTzku8vhwV9D8_eA_7_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-20983</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_Pdh-J-VbFEiNXA4q2DAWnA_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">28160</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_eGYsSFlRqkebW0ajGnTvbQ_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">11375</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_IdW1e_Zf20iAhzY1Ll_3jw_9_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1932227</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_0tTZ2vILrkCi_dYoy9nCdA_9_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">195584</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="3"
      id="Tc_NqnJpZfZMEm9irJS2t8OEg_10_3"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.378</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="3"
      id="Tc_x0pY8QJEzUyFLqLWl7mNXQ_10_6"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.250</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_fFW5QNMEEUm4W014-6NIsA">&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;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net operating loss carryforward&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,302,402&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,839,915&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 142,232&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 213,308&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Stock based compensation awards&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,525&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 242,579&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,195,891&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other items not currently deductible&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 536,664&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 126,792&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,184,714&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,422,594&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (5,311,680)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,170,094)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,873,034&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,252,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,562,744)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,971,644)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,157,079)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Contract accounting methods &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.84%;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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (153,211)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.77%;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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (349,670)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,873,034)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,321,314)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred taxes, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,931,186&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_YCeutR1tmE-0IvNia2ZuLA_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">6302402</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_QlBRrCCumECC9SNnhgvttA_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5839915</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_9d6z8mKbAEiq4v84-D14uA_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">142232</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_jnddMONZhUa9FiqD2yd4zA_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">213308</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_8ZtPvDUzF0-ds2OwJ5oMYQ_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">7525</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_JgeDEFglc028j4p8wJNvaw_5_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">242579</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <tpcs:DeferredTaxAssetsOperatingLeases
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_6rsUNpvgdEiWb0GDPs-R2A_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1195891</tpcs:DeferredTaxAssetsOperatingLeases>
    <tpcs:DeferredTaxAssetsOperatingLeases
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_XnTp5CW14kaIVfkHAEkYFw_6_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">0</tpcs:DeferredTaxAssetsOperatingLeases>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_Zg2DMJ99_kGk5JlfzHliWA_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">536664</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_tIx6FmqY6EaXy13IcNDlZA_7_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">126792</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_qVteG1abIkuORRMtWrQHjQ_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">8184714</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_yOnw6f7wrUuUTl3hBAMHwg_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">6422594</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_prUgoWjhVkSQlPcmQA_q6Q_9_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5311680</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_TcItPyPeEkyI1RTtH_Je0w_9_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2170094</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_wGXKLpCFPk2QfdNuf_G5Qg_10_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2873034</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_TnHJYspxrU-use21XQMI5g_10_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4252500</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_Uihp0-YwW0CUMgTdDJ-hmg_12_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1562744</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_W54zrHgLb0-_F128BOQF6A_12_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1971644</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc__ZFlYYmkDU6N4E47iCQDvw_13_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1157079</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_v7KEc6VN1U6stZtt_LQwkQ_13_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">0</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <tpcs:DeferredTaxLiabilitiesContractAccountingMethods
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_93agwiDODk-OCTHfjDbnsQ_14_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">153211</tpcs:DeferredTaxLiabilitiesContractAccountingMethods>
    <tpcs:DeferredTaxLiabilitiesContractAccountingMethods
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_3HErJEScu0OQfdeUU5PZjg_14_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">349670</tpcs:DeferredTaxLiabilitiesContractAccountingMethods>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_Ds-0aqE9606ui3y-n_Bjig_15_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2873034</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_57WRZpWTLkqeABIZ4igvnA_15_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2321314</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_MQAtua7Vikeq5ht95o8Dxg_16_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1931186</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_ZIKxsDitREKv27B20w3mSg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5300000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_3_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_fTIbHl3lkUG7SFR86q33WA"
      decimals="-5"
      id="Narr_6bGZgtpEZk-e-qIqOHFdZg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">19300000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_3_31_2024_us-gaap_TaxPeriodAxis_tpcs_TaxYearsPriorToTwoThousandTwentyOneMember_WS4dITeCLUeInRmG36DepA"
      decimals="-5"
      id="Narr_PGbz-vkjwEiW0X2-DoxFmw"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">9900000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_yNfy4bA_6EKw80fIoEI6UA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;6&#160;&#x2013; CAPITAL STOCK and EARNINGS PER SHARE&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Reverse Stock Split&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On February 23, 2023, the Company effected a &lt;span style="-sec-ix-hidden:Hidden_lpmwKBw8EUC6iReXMuMNUQ;"&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;-for-four reverse stock split of its common stock, which was effective for trading purposes as of the commencement of trading on February 24, 2023. The reverse stock split was approved by the Company&#x2019;s stockholders on September 14, 2022, at the Company&#x2019;s regular annual meeting of stockholders, with authorization to determine the final ratio having been granted to the Company&#x2019;s Board of Directors. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;All share and per-share amounts have been affected retroactively for all years presented in our financial statements and notes thereto.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The reverse stock split was primarily intended to prepare for the potential listing of the Company&#x2019;s common stock on the Nasdaq Capital Market. The Company simultaneously affected a reduction in the number of authorized shares of common stock from 90,000,000 to 50,000,000.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Common Stock&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;We had 50,000,000 authorized shares of common stock at March&#160;31, 2024 and 2023, respectively.&#160;There were 8,777,432 and 8,613,408 shares of common stock outstanding at March&#160;31, 2024 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Preferred Stock&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;We have 10,000,000 authorized shares of preferred stock and our board of directors has broad power to create one or more series of preferred stock and to designate the rights, preferences, privileges, and limitations of the holders of such series. There were no shares of preferred stock outstanding at March&#160;31, 2024 and 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Earnings per Share&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;All earnings per share amounts included in this annual report on Form 10-K are presented as if the one-for-four reverse stock split had been effective April 1, 2022. Basic EPS is computed by dividing reported earnings available to stockholders by the weighted average shares outstanding. Diluted EPS also includes the effect of stock options that would be dilutive. The following table provides a reconciliation of the numerators and denominators reflected in the basic and diluted earnings per share computations, as required under FASB ASC 260.&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;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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Basic EPS&lt;/i&gt;&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7,042,172)&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (979,006)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average shares&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,717,160&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.22%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,595,992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss per share&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.81)&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.11)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Diluted EPS&lt;/i&gt;&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7,042,172)&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (979,006)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Dilutive effect of stock options&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;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;text-align:right;margin:0pt 3pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.22%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average shares&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,717,160&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,595,992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss per share&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.81)&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.11)&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;text-align:justify;margin:0pt;"&gt;&lt;span style="display:inline-block;text-align:left;text-indent:0pt;width:97.5pt;"&gt;&lt;/span&gt;&lt;span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;All potential common stock equivalents that have an anti-dilutive effect (i.e., those that increase income per share or decrease loss per share) are excluded from the calculation of diluted EPS due to net loss for both periods. For the fiscal years ended March 31, 2024, and 2023, there were potential anti-dilutive stock options and warrants of 542,500 and 25,000, and 680,000 and 25,000, respectively, none of which were included in the EPS calculations above.&lt;/p&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_2_22_2023_zOuuptjsrEmFOzM90fL_Nw"
      decimals="INF"
      id="Narr_EEWFasz68UOV7j601VPs1g"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">90000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_2_23_2023_fOoRGPoiakKzIRUmcjh2Cw"
      decimals="INF"
      id="Narr_qKMz_Cgjpka-NUAZCc0IRQ"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="INF"
      id="Narr_l7RRPKzMi0embvPkp_mo3g"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Narr_yRLp0Y31XEuh3uAjKGMDYA"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Narr_lkRCGDqaYkOkKlzOAeSXOQ"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8777432</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="INF"
      id="Narr_xHEnWJlckEe5CyxkdCfv1w"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8613408</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Narr_PL8DTmWBhEm7vR_6nb_FAw"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">10000000</us-gaap:PreferredStockSharesAuthorized>
    <tpcs:NumberOfSeriesOfPreferredStockShares
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Narr_ccWeLW3bOEG5jiHq_2I72g"
      unitRef="Unit_Standard_series_LPcGhCXu80q9Nan6hqJcuQ">1</tpcs:NumberOfSeriesOfPreferredStockShares>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="INF"
      id="Narr_plTxkXzNB0ygbejSKaRSOg"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Narr_HBCjE_U3X0mXU8eweDZX2A"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_z1btrjDb5E6z7E3sqR2KEw">&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;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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Basic EPS&lt;/i&gt;&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7,042,172)&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (979,006)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average shares&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,717,160&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.22%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,595,992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss per share&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.81)&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.11)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Diluted EPS&lt;/i&gt;&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 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:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7,042,172)&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (979,006)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Dilutive effect of stock options&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;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;text-align:right;margin:0pt 3pt 0.05pt 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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.22%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average shares&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,717,160&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,595,992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss per share&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.81)&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;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;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.11)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_PJK54dEAKEuUqS2Q9OV2mw_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-7042172</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_ENMRPQC4kEOP5V2fhOtH7Q_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-979006</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_54oaF-yp_UGOnjw4mi4RjA_5_3"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8717160</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_UxYyatkV2kCR156mlt6dng_5_6"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8595992</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="2"
      id="Tc_MMueAtrF006q6734W-eTiA_6_3"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">-0.81</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="2"
      id="Tc_lqKhRJ67UkOXn4QKpeWvGA_6_6"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">-0.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_GbHW6OEC2Ui4yfu3uCcDgA_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-7042172</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_-npkFn0pukWqkHStjyoFKQ_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-979006</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_TbmxAqtIXkq7lBWgJIg40g_10_3"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8717160</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_u2axrLdhVEeqyr8jTvDOXw_10_6"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">8595992</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="2"
      id="Tc_zbJwwW7_BkqxbKmaVbdw1g_11_3"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">-0.81</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="2"
      id="Tc_5rlRtBWMPEyU0GFMssf5Lg_11_6"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">-0.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_L-FSWnPqUEKJF_VKbP9gjw"
      decimals="INF"
      id="Narr_3Rz2pOesI02fqNPoXA5v0w"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">542500</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_WarrantMember_Bo-QMGl8bkCWlsNe4w8hxg"
      decimals="INF"
      id="Narr_aUfDgNuspEGF30vQrXncTA"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">25000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_-jI0UdwIhUKJPCFavF7MUg"
      decimals="INF"
      id="Narr_HFO7pSebskiJ6PGideQgJw"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">680000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_WarrantMember_QDlxNL3ZxEKvS4qB1Fon1A"
      decimals="INF"
      id="Narr_S8spaX3kA0eDC2Mr7qVy-w"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">25000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_MC8T2HwngkqZvzpCIu8E1A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;7&#160;&#x2013; STOCK-BASED COMPENSATION&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Our board of directors, upon the recommendation of the compensation committee of our board of directors, approved the 2016 TechPrecision Equity Incentive Plan, or the &#x201c;2016 Plan&#x201d;, on November 10, 2016. Our stockholders approved the 2016 Plan at the Company&#x2019;s Annual Meeting of Stockholders on December 8, 2016. The 2016 Plan succeeds the 2006 Plan (as defined below) and applies to awards granted after the 2016 Plan&#x2019;s adoption by the Company&#x2019;s stockholders. We have designed the 2016 Plan to reflect our commitment to having best practices in both compensation and corporate governance. Following the February 2023 reverse stock split, the 2016 Plan now provides for a share reserve of 1,250,000 shares of common stock.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The 2016 Plan authorizes the award of incentive and non-qualified stock options, restricted and unrestricted stock awards, restricted stock units, and performance awards to employees, directors, consultants, and other individuals who provide services to TechPrecision or its affiliates. The purpose of the 2016 Plan is to enable TechPrecision and its affiliated companies to recruit and retain highly qualified employees, directors, and consultants; and to provide those employees, directors, and consultants with an incentive for productivity, and an opportunity to share in the growth and value of the Company. Subject to adjustment as provided in the 2016 Plan, the maximum number of shares of common stock that may be issued with respect to awards under the 2016 Plan is 1,250,000 shares (inclusive of awards issued under the 2006 Long-Term Incentive Plan, or the &#x201c;2006 Plan&#x201d;, that remained outstanding as of the effective date of the 2016 Plan). Shares of our common stock subject to awards that expire unexercised or are otherwise forfeited shall again be available for awards under the 2016 Plan.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The fair value of the options we grant is estimated using the Black-Scholes option-pricing model based on the closing stock prices at the grant date and the weighted average assumptions specific to the underlying options. Expected volatility assumptions are based on the historical volatility of our common stock. The average dividend yield over the historical period for which volatility was computed is zero. The risk-free interest rate was selected based upon yields of five-year U.S. Treasury issues. We used the simplified method for all grants to estimate the expected life of the option. We assume that stock options will be exercised evenly over the period from vesting until the awards expire. We account for award forfeitures as they occur. As such, the assumed period for each vesting tranche is computed separately and then averaged together to determine the expected term for the award. On March 31, 2024, there were 257,500 shares available for grant under the 2016 Plan. The following table summarizes information about options granted during the two most recently completed fiscal years:&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;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:57.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility: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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:10.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:10.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;Of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:10.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&#160;Life&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&#160;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(in&#160;years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at March 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 667,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.37&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,597,700&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.58%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.66&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Canceled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at March 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.72%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 667,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.37&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,804,625&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.58%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.70&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (125,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.68&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 846,250&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.72%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 542,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.53&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,128,825&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.58%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.93&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested or expected to vest at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 542,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.53&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,128,825&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.93&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercisable and vested at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 542,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.53&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,128,825&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.93&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;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The aggregate intrinsic value in the table above represents the total pre-tax intrinsic value (the difference between the closing stock price and the exercise price multiplied by the number of in-the-money options on the measurement date) that would have been received by the option holders had all option holders exercised their options on March 31, 2024 and 2023. This amount changes based on the fair value of the Company&#x2019;s common stock. At March 31, 2024, there was no remaining unrecognized compensation cost related to stock options. The maximum contractual term is ten years for option grants. Other information relating to stock options outstanding at March 31, 2024 is as follows:&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;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;white-space:nowrap;width:51.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:51.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility: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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility: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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:51.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:51.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:51.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:51.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Range of Exercise Prices:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Outstanding&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:7.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&#160;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:7.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Exercisable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&#160;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$0.01-$0.99&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 192,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.36&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.32&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 192,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.32&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$2.00-$2.99&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 350,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.16&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.19&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 350,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.19&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 542,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 542,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&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;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Common Stock Awards&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On September 15, 2022, we granted each non-employee director 6,250 shares of common stock for a total of 25,000 shares of common stock in the aggregate, of fully vested stock awards under the Plan in recognition of such directors&#x2019; service and in lieu of the annual grant to purchase Company common stock previously approved by the Board as annual director compensation. The fair value of the award was $144,000 based on the closing market price of the Company&#x2019;s common stock on the grant date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On January 2, 2024, we granted 15,000 shares of the Company&#x2019;s common stock pursuant to the 2016 Plan to the Company&#x2019;s former CFO in connection with his consulting services agreement, which shares were fully vested on the grant date. The stock-based compensation expense of $79,500 was measured at fair value on the date of grant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Restricted Stock Awards&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Our board authorizes the issuance of restricted stock as service-based awards measured at fair value on the date of grant based on the number of shares expected to vest and the quoted market price of the Company&#x2019;s common stock. The shares of restricted stock fully vested and ceased to be subject to forfeiture one year from the grant date. Each grantee is required to have been serving as a director on the vesting date and must have been continuously serving in such capacity from the grant date through the vesting date for the shares of restricted stock to vest. Prior to the vesting date, the grantee is not permitted to sell, transfer, pledge, assign or otherwise encumber the &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;shares of restricted stock and if the grantee&#x2019;s service with the Company has terminated prior to the vesting date, subject to certain exceptions, the grantee&#x2019;s restricted stock is to have been forfeited automatically.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On August 3, 2023 the Company issued 15,000 shares of restricted common stock to the Company&#x2019;s new CFO. Under the terms of the employment agreement, provided employment with the Company continues from the grant date through the applicable vesting dates, 5,000 shares of the restricted stock will vest on each of the first, second, and third anniversaries of the effective employment date of July 17, 2023. Fair value of $110,700 was measured on the date of grant based on the number of shares expected to vest and the quoted market price of the Company&#x2019;s common stock. Stock-based compensation expense will be recognized ratably over the vesting period. Total recognized compensation cost related to this award for the fiscal year ended March 31, 2024 was $27,675. On March 31, 2024, there was $83,025 of remaining unrecognized compensation cost related to this award which is expected to be recognized over the next three years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On October 11, 2023, we granted a total of 25,000 shares of restricted common stock under the 2016 Plan to the board of directors. The stock-based compensation expense of $177,750 was measured at fair value on the date of grant based on the number of shares expected to vest and the quoted market price of the Company&#x2019;s common stock.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Total recognized compensation cost related to restricted stock awards for the fiscal year ended March 31, 2024 and 2023 was $284,925 and $109,079, respectively.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="As_Of_3_31_2024_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_nrF9dOccm0iWbvsD_mdgwg"
      decimals="INF"
      id="Narr_avHEK8yozEGz41M13HcSZw"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">1250000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_VqxuUHz_IEG-hpEWOambRQ"
      decimals="INF"
      id="Narr_IyMjx5pabEGz2GYGGLzj9Q"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">1250000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Narr_Jh3sB4NGuU-bWfRieaTWEg">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="As_Of_3_31_2024_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_nrF9dOccm0iWbvsD_mdgwg"
      decimals="INF"
      id="Narr_XIMHYl67AUyhxHzwnE9r6Q"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">257500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_UGlt2gSOGkeweAM2Eip8Xg">&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;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:57.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility: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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:10.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:10.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;Of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:10.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&#160;Life&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&#160;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(in&#160;years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at March 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 667,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.37&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,597,700&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.58%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.66&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Canceled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at March 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.72%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 667,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.37&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,804,625&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.58%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.70&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (125,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.68&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 846,250&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.72%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 542,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.53&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,128,825&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.58%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.93&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested or expected to vest at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 542,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.53&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,128,825&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.93&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercisable and vested at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 542,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.53&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,128,825&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.93&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_3_31_2022_URldAZsxQk-e2NkMeLkdSg"
      decimals="INF"
      id="Tc_0NobBZJcYEOIWymY9qNmbw_6_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">667500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2022_URldAZsxQk-e2NkMeLkdSg"
      decimals="2"
      id="Tc_2eqSXIfqL0CqQM-ZD0SFbQ_6_5"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">1.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_3_31_2022_URldAZsxQk-e2NkMeLkdSg"
      decimals="0"
      id="Tc_0NNc3vsBbUCiybFhrJBhJQ_6_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3597700</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_4_1_2021_To_3_31_2022_yF3xLaISN0Opo5lCslgz5A"
      id="Tc_ICbliPjB5U2PkFfrSm6hKw_6_10">P4Y7M28D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="INF"
      id="Tc_36h2KhG-_EqRVSqbVC3SQw_8_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">667500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="2"
      id="Tc_oDbphdb860WozFSGratCfw_8_5"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">1.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_hVsZVoD3E0W7WvJMz6sUjw_8_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3804625</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      id="Tc_wOLS6v99XEmoF36aJcnpWA_8_10">P3Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="INF"
      id="Tc_i_x1s5jziki3XVYHLit51g_9_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">125000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="2"
      id="Tc_eCWwbKoqBUmvs9RGkZVTFw_9_5"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">0.68</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_ZFGtAIS22U2EicNbBy2hZQ_9_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">846250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Tc_hLeN59isskanfRSOuIS0Wg_10_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">542500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="2"
      id="Tc_l4whd_rLMk2SY1vMvd_AhQ_10_5"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">1.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_Lk_qBhZgnEKSwpoU2xcctg_10_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1128825</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_LXCTrUyD5UmtvQEzz1Fjww_10_10">P2Y11M4D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Tc_PtAJ8vor9ESvPiZN9tIPFg_11_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">542500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="2"
      id="Tc_nDbXhrixsU69f4Ll-piCcA_11_5"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">1.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_X3zzRmk-kE-G-AoUp_UiUQ_11_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1128825</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_kQ-W9y7AFE-PoekKmptOYg_11_10">P2Y11M4D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Tc_dYs-C6o42kenYh3ZQg5zXg_12_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">542500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="2"
      id="Tc_jaTlVTM52EySu2TmijbXAg_12_5"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">1.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_aG70Zd5F2kenefrnpP-ANw_12_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1128825</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tc_fd165dLqaEKV7qIPsQN3bA_12_10">P2Y11M4D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_rjeUe_kRa0uCeWOFNCe7KQ">&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;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;white-space:nowrap;width:51.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:51.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility: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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility: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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:51.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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:51.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:51.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:51.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Range of Exercise Prices:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Outstanding&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:7.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&#160;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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:7.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Exercisable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&#160;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$0.01-$0.99&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 192,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.36&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.32&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 192,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.32&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$2.00-$2.99&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 350,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.16&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.19&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span 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.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 350,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.19&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 542,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 542,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility: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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_il9ZNg-NzUebzWjMTdVJSA"
      decimals="2"
      id="Narr_W-hO3USyuUWGZ10LgRYcoQ"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">0.01</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_il9ZNg-NzUebzWjMTdVJSA"
      decimals="2"
      id="Narr_YBMa7hKAtEOXFioVHJzxWA"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">0.99</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_eWKkRQYpMke4qRBOTN7OHQ"
      decimals="INF"
      id="Tc_IfSr3do2P0yOgBjmP3cmag_6_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">192500</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_il9ZNg-NzUebzWjMTdVJSA"
      id="Tc_-af19ZtLNEGm74H9xJYQ-g_6_4">P1Y4M9D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_eWKkRQYpMke4qRBOTN7OHQ"
      decimals="2"
      id="Tc_okoxlq7QxUiIWkrmaXz3Hg_6_7"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">0.32</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_eWKkRQYpMke4qRBOTN7OHQ"
      decimals="INF"
      id="Tc_zihmzVZw8EGHk5YVmWw69Q_6_9"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">192500</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeOneMember_eWKkRQYpMke4qRBOTN7OHQ"
      decimals="2"
      id="Tc_6HdViyUYE0G8ge4wCXKEZQ_6_12"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">0.32</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_uacHwKDVKEaVBeA9L9nAWA"
      decimals="2"
      id="Narr_YRxkkdMsL0qqvNnlAPOFrw"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">2.00</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_uacHwKDVKEaVBeA9L9nAWA"
      decimals="2"
      id="Narr_-xE8d3-MiUeqoOPme0I8LA"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">2.99</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_vlXSz1WzLEydeqkUckxJAw"
      decimals="INF"
      id="Tc_WUlhak3IBECbbz4fwkboTA_7_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">350000</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_uacHwKDVKEaVBeA9L9nAWA"
      id="Tc_t9GbEHLcC0WMO3AAPLJkqg_7_4">P3Y1M28D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_vlXSz1WzLEydeqkUckxJAw"
      decimals="2"
      id="Tc_JwHwLzOx4EyWxq5UcrlSEA_7_7"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">2.19</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_vlXSz1WzLEydeqkUckxJAw"
      decimals="INF"
      id="Tc_7du61YERc0ucA_YLzYX1zw_7_9"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">350000</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="As_Of_3_31_2024_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_tpcs_RangeTwoMember_vlXSz1WzLEydeqkUckxJAw"
      decimals="2"
      id="Tc_SHhFHnhx6EuEry-RWzQyzA_7_12"
      unitRef="Unit_Divide_USD_shares_zXI7hnHr50SZlvQ3Eug_IA">2.19</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Tc_hXzd5mI2bEuZGib7bBn7bg_8_2"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">542500</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="INF"
      id="Tc_INzjyInnsUirT-Ule868RQ_8_9"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">542500</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <tpcs:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual
      contextRef="Duration_9_15_2022_To_9_15_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementNonemployeeMember_gk7ScDZIWEeNmo0bAaWHSA"
      decimals="INF"
      id="Narr_4IDIL1997kmmaUX6boSTJg"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">6250</tpcs:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriodToEachIndividual>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_9_15_2022_To_9_15_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementNonemployeeMember_gk7ScDZIWEeNmo0bAaWHSA"
      decimals="INF"
      id="Narr_IXbVAr108E2iijs5pJOLoA"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">25000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <tpcs:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue
      contextRef="Duration_9_15_2022_To_9_15_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementNonemployeeMember_gk7ScDZIWEeNmo0bAaWHSA"
      decimals="0"
      id="Narr_F4dzcd-QkkW_XIw_6VDJ2Q"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">144000</tpcs:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="Duration_1_2_2024_To_1_2_2024_srt_TitleOfIndividualAxis_tpcs_FormerChiefFinancialOfficerMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_98gr5MOvTUikgG0Cr5cnUQ"
      decimals="INF"
      id="Narr_lQ7A8WYz8Eu6lWZqL2WUAQ"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">15000</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <tpcs:StockIssuedForFinderFee
      contextRef="Duration_1_2_2024_To_1_2_2024_srt_TitleOfIndividualAxis_tpcs_FormerChiefFinancialOfficerMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_98gr5MOvTUikgG0Cr5cnUQ"
      decimals="0"
      id="Narr_OzOF04zpDk-s-8OaAxxB6g"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">79500</tpcs:StockIssuedForFinderFee>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_8_3_2023_To_8_3_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_V5kWFx3sOE2qwR3-FNGbyw"
      decimals="INF"
      id="Narr_8KGsvCjRAE2s12DxapS2Lg"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">15000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <tpcs:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary
      contextRef="Duration_8_3_2023_To_8_3_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_V5kWFx3sOE2qwR3-FNGbyw"
      decimals="INF"
      id="Narr_xkVc_THYOUa96B9G-vKuCw"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">5000</tpcs:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="Duration_8_3_2023_To_8_3_2023_Upw42tLjN0W25ixTgHbflQ"
      decimals="0"
      id="Narr_huHIhSGaF0yoj2Eom07exw"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">110700</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:EmployeeBenefitsAndShareBasedCompensation
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_FlfjqNlVrUm4wnkyLcLQAQ"
      decimals="0"
      id="Narr_tPOU1hznPEepND2nYexd7Q"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">27675</us-gaap:EmployeeBenefitsAndShareBasedCompensation>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="As_Of_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_F1K_h0_69E61to_LibFofA"
      decimals="0"
      id="Narr_U4mUkG_KWEiMV7fJPtE8tA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">83025</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_10_11_2023_To_10_11_2023_us-gaap_AwardTypeAxis_tpcs_ServiceBasedRestrictedStockOneMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_PC5bcvUIMEmgn6tLs-agmw"
      decimals="INF"
      id="Narr_3sR_EmoBH0yPTUpASYLECA"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">25000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_10_11_2023_To_10_11_2023_us-gaap_AwardTypeAxis_tpcs_ServiceBasedRestrictedStockTwoMember_1YoRNoIz6ki9OoASOoP0Xg"
      decimals="0"
      id="Narr_L9RF0oyZaEivHjklPKd6YA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">177750</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_FlfjqNlVrUm4wnkyLcLQAQ"
      decimals="0"
      id="Narr_rv0oC2Yhm0-G702FZkZeXA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">284925</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_kC6wq9-J1ECe4fACbPlMoA"
      decimals="0"
      id="Narr_LIe6razGJ0eEwLmLKSWx7g"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">109079</us-gaap:ShareBasedCompensation>
    <us-gaap:ConcentrationRiskDisclosureTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_2z4T3BMUfE2ATOAFlBVWzg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;8&#160;- CONCENTRATION OF RISK&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;We maintain bank account balances, which, at times, may exceed insured limits. We have not experienced any losses with these accounts and believe that we are not exposed to any significant credit risk on cash.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;In the fiscal years ended March 31, 2024 and 2023, one supplier accounted for 20% and 34%, respectively, of our purchased material.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On&#160;March&#160;31, 2024, there were trade accounts receivable balances outstanding from two customers comprising 58% of the total trade receivables balance. The following table sets forth information as to trade accounts receivable from customers who accounted for more than 10% of our accounts receivable balance as of:&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;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:59.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:59.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Customer&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Dollars&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percent&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Dollars&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percent&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;"&gt;A&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 940,279&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 40&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;%  &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 730,514&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;"&gt;B&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;%  &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 260,177&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;"&gt;C&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 423,198&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 18&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;%  &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;"&gt;D&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;%  &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 265,755&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"&gt;&lt;i style="font-style:italic;font-weight:normal;"&gt;*&lt;/i&gt;&lt;i style="font-style:italic;font-weight:normal;"&gt;less than 10% of total&lt;/i&gt;&lt;/p&gt;</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_OneSupplierMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_URroydbBJ0KABqNKk-sNtA"
      decimals="2"
      id="Narr_kZgkvUvdWUuC0987lULfPg"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_OneSupplierMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_lviD3vpFlUShUb6_Sn4Zlw"
      decimals="2"
      id="Narr_-r1-YzKc00GATkXS1mV8lA"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.34</us-gaap:ConcentrationRiskPercentage1>
    <tpcs:NumberOfSignificantCustomers
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_tpcs_TradeReceivablesMember_3l4iW77eqECfCDeek5BDrQ"
      decimals="INF"
      id="Narr_FBlAUnysuEGTwk8G1ETWSw"
      unitRef="Unit_Standard_customer_qy87DfQ4RU2d4SFN2Z-jqg">2</tpcs:NumberOfSignificantCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerCDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_tpcs_TradeReceivablesMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Mcb6z5vrs06CxaUE_uhhog"
      decimals="2"
      id="Narr_RIhLD76HkkyX0f77o2TdhQ"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.58</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_Customers.Member_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Qcr25m_sT0aGOz1xeKKQAA"
      decimals="2"
      id="Narr_M889fD3xEEmVr-SaSP8MXQ"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_4DHc1wrauEC45VPNRB37KA"
      id="Tb_AGlP_8eHDUmbhpe2aKyXVA">&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;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:59.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:59.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:17.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Customer&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Dollars&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percent&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Dollars&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percent&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;"&gt;A&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 940,279&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 40&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;%  &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 730,514&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;"&gt;B&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;%  &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 260,177&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;"&gt;C&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 423,198&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 18&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;%  &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;"&gt;D&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;%  &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 265,755&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"&gt;&lt;i style="font-style:italic;font-weight:normal;"&gt;*&lt;/i&gt;&lt;i style="font-style:italic;font-weight:normal;"&gt;less than 10% of total&lt;/i&gt;&lt;/p&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WtEE3Lfmw0669Jd4tzKldA"
      decimals="0"
      id="Tc_86fEB0oswUmY5rt4RI51LA_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">940279</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_UeSjHtEonkOo-21HCuMNxg"
      decimals="2"
      id="Tc_g2XkxQrkfE-CxiRbLZqD1w_3_5"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.40</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_KhqefYGwyUu0tP1CK_F6nA"
      decimals="0"
      id="Tc_pMOrSpeFMkyYwdSgQbaRqw_3_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">730514</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_TJqd7Zd6xUGb_XnkoDgaig"
      decimals="2"
      id="Tc_o3ezaeWfW06FlKV1wkLE9Q_3_10"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.31</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rSr5Dkm_IkCHvsNvVco5ZA"
      decimals="0"
      id="Tc_Bq56pGInHkCsQjqsFxHqUQ_4_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">260177</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerBMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_x7QWNQp_u0iQ1pobcksUng"
      decimals="2"
      id="Tc_tkF71mg5RkaSAycPUWxqrg_4_10"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_c28_crNyV0u3HSQr3IOT7g"
      decimals="0"
      id="Tc_jFXYImG7SkuGt6GOCq-frQ_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">423198</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_MajorCustomersAxis_tpcs_CustomerCMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_sacaZwh8Fk-KsQaNM0cSMw"
      decimals="2"
      id="Tc_7xfal6iwJ0qBYlWjkVM9FA_5_5"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.18</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_a81L9kbSGke5OtcVLMPFLQ"
      decimals="0"
      id="Tc_tSw24oQ8iU-8EKuRekw17g_6_8"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">265755</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_MajorCustomersAxis_tpcs_CustomerDMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Yk4MBFc9Z0yFWUKjUO6xKg"
      decimals="2"
      id="Tc_Y-TlJxaFb0iRI2ZgHzeYtg_6_10"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:OtherCurrentAssetsTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb__JF53Ujvwk-_-PEnzLbBJA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;9&#160;- OTHER CURRENT ASSETS&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;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:71.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Other current assets included the following as of:&lt;/i&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2024&lt;/b&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid insurance&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;text-align:center;margin:0pt 0pt 0.05pt 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.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 336,578&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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 162,075&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid subscriptions&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 119,983&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 120,570&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid taxes&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,266&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,616&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Supplier advances&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,142&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deposits&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,800&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,706&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Employee advances&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16,978&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,561&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid advisory fees, other&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16,941&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30,455&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 563,688&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 348,983&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;font-weight:bold;margin:0pt;"&gt;&lt;span style="font-size:1pt;font-weight:normal;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:OtherCurrentAssetsTextBlock>
    <us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_5A6ExpQtu0CktkmF0OILEw">&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;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:71.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Other current assets included the following as of:&lt;/i&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2024&lt;/b&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid insurance&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;text-align:center;margin:0pt 0pt 0.05pt 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.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 336,578&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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 162,075&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid subscriptions&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 119,983&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 120,570&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid taxes&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,266&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,616&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Supplier advances&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,142&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deposits&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,800&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,706&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Employee advances&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16,978&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,561&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid advisory fees, other&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16,941&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30,455&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 563,688&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 348,983&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;font-weight:bold;margin:0pt;"&gt;&lt;span style="font-size:1pt;font-weight:normal;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock>
    <us-gaap:PrepaidInsurance
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_8qiBfH2MakemAN7scn-urw_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">336578</us-gaap:PrepaidInsurance>
    <us-gaap:PrepaidInsurance
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_pnr2jAaiGUWZLjSYG_a_8A_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">162075</us-gaap:PrepaidInsurance>
    <tpcs:PrepaidSubscriptions
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_BKOiFD2-EUGgvpxAva4mxg_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">119983</tpcs:PrepaidSubscriptions>
    <tpcs:PrepaidSubscriptions
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_85Vpva7UE0K59RJ3FBT5qA_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">120570</tpcs:PrepaidSubscriptions>
    <us-gaap:PrepaidTaxes
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_ByK6Ft1eqkOvLljQSSo-Mw_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">27266</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_MHwjOa2C-kOUKyJICBZTEg_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">9616</us-gaap:PrepaidTaxes>
    <us-gaap:Supplies
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_KR2BMmWNxk2go2f0Km32XQ_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">26142</us-gaap:Supplies>
    <tpcs:DepositsCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_7GVF8FGPqUGITYABBLY5Eg_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">19800</tpcs:DepositsCurrent>
    <tpcs:DepositsCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_mvxnUv9uVE-dOEKBfCww1w_6_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">21706</tpcs:DepositsCurrent>
    <tpcs:AdvancesToEmployee
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_P-QCtGEHUUKpyXgR2x88xQ_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">16978</tpcs:AdvancesToEmployee>
    <tpcs:AdvancesToEmployee
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_PiO9FaqMc0GIvbZI8vjA-w_7_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4561</tpcs:AdvancesToEmployee>
    <tpcs:PrepaidAdvisoryFeesOther
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_W601x4_znUa8jUCfrYMqYA_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">16941</tpcs:PrepaidAdvisoryFeesOther>
    <tpcs:PrepaidAdvisoryFeesOther
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_hf9rtUSdQU-CNyLsXcxwRw_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">30455</tpcs:PrepaidAdvisoryFeesOther>
    <us-gaap:OtherAssetsCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_o_aCSByHuE236OWUZHGgfw_9_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">563688</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_Nq6SvrBcb0e4DUz18P8tgg_9_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">348983</us-gaap:OtherAssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_i3lOVYwlZUOaUAvJClIXhA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;10&#160;- PROPERTY, PLANT AND EQUIPMENT, NET&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;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:71.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Property, plant and equipment, net consisted of the following as of:&lt;/i&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:8pt;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2024&lt;/b&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:8pt;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Land&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 110,113&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 110,113&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Building and improvements&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,293,986&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,293,986&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Machinery equipment, furniture, and fixtures&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,590,644&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,018,713&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Construction-in-progress&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 148,606&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 149,576&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total property, plant, and equipment&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,143,349&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,572,388&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Less: accumulated depreciation&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,345,358)&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (12,658,364)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total property, plant and equipment, net&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,797,991&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,914,024&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;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;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;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;In fiscal 2024 and 2023, we recorded depreciation expense of $1,746,103 and $1,557,910, respectively, in our cost of goods sold. We also recorded machinery and equipment disposals with a book value of $22,815. We also received $61,944 of proceeds from an insurance settlement related to certain fixed asset disposals abandoned by theft at our Stadco plant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;We capitalize interest on borrowings during active construction period for major capital projects. Capitalized interest is added to the cost of the underlying assets and is amortized over the useful lives of the assets. Capitalized interest for the years ended March 31, 2024 and 2023 were $18,642 and $14,297, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;In September 2023, the Company signed an agreement to make additional equipment upgrades for a certain customer. We recognize new purchases as a fixed asset and billings for reimbursement from the customer as a contra-asset. Future depreciation of the asset will be offset directly by the amortization of the contra-asset on a net basis in the statement of operations. The amortization period will match the schedule of depreciation set forth under the fixed asset ledger.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_ZPBbAiAfQ0GinYMWmMrX-w">&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;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:71.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Property, plant and equipment, net consisted of the following as of:&lt;/i&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:8pt;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2024&lt;/b&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:8pt;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Land&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 110,113&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 110,113&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Building and improvements&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,293,986&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,293,986&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Machinery equipment, furniture, and fixtures&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,590,644&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,018,713&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Construction-in-progress&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 148,606&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 149,576&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total property, plant, and equipment&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,143,349&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,572,388&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Less: accumulated depreciation&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,345,358)&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (12,658,364)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total property, plant and equipment, net&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,797,991&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,914,024&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_bVeDoYFYVE6cxdhinAQnYQ"
      decimals="0"
      id="Tc_-7u6txRy10GMYI1fzzIlTg_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">110113</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_1WWV6R1yK0iNbAN-XwJXpw"
      decimals="0"
      id="Tc_EpNzYTJdeUSMWGS5aSBNFA_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">110113</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingAndBuildingImprovementsMember_5Wh1kMcApkqbyUKKJccXRw"
      decimals="0"
      id="Tc_X9rERL1Mfk2pVOacvf27PA_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3293986</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingAndBuildingImprovementsMember_mnLFLT7xbE-ytNI0oEpz0A"
      decimals="0"
      id="Tc_HLhWFMPi0kSy82hO6ar0kg_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3293986</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_tpcs_MachineryEquipmentFurnitureAndFixturesMember_efnnvJhAa0SnB_tz3Sr9Qg"
      decimals="0"
      id="Tc_mu0LKeWNbUSLgwSM4C4PYw_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">25590644</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_tpcs_MachineryEquipmentFurnitureAndFixturesMember_RdDoHphKdUes7plMtyhJpQ"
      decimals="0"
      id="Tc_1ZGWRVntE0GFgWld7LDkMA_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">23018713</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_-6IpxO5NeEqi5_FiaFqV7g"
      decimals="0"
      id="Tc_-uARC2Alx0-LVaLaNoA2dw_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">148606</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_odwAiUw1M0OAUW38FVX_zg"
      decimals="0"
      id="Tc_ontwWLy8Jk-dfG18K1TXNg_5_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">149576</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_yw8pZhjhnUCzbIc5RHlr-A_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">29143349</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_WyLxSef-dUW4a3AhOeoVSA_6_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">26572388</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_m1O_D1J2DEe4AFenbzJkFA_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">14345358</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_xW_bRxp9ZEaR4cX-6E5o-g_7_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">12658364</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_6s-rQCq72UehKn2hFAtfUg_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">14797991</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_jwmISuzV0kStsKZ7dYxz-A_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">13914024</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:CostOfGoodsAndServicesSoldDepreciation
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Narr_IBiQxeuruke3-TyFz9GMTA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1746103</us-gaap:CostOfGoodsAndServicesSoldDepreciation>
    <us-gaap:CostOfGoodsAndServicesSoldDepreciation
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Narr_4xoKuv2sh02f2-bbcfC7kQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1557910</us-gaap:CostOfGoodsAndServicesSoldDepreciation>
    <us-gaap:PropertyPlantAndEquipmentDisposals
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_rV9pn5-y6U-wJPjmHb6Pqg"
      decimals="0"
      id="Narr_3Cq3RosSZ0KocnSuxqVsCg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">22815</us-gaap:PropertyPlantAndEquipmentDisposals>
    <tpcs:ProceedsFromFixedAssetsInsuranceSettlement
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Narr_kGGcFV01sEmG1ONfK79EIQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">61944</tpcs:ProceedsFromFixedAssetsInsuranceSettlement>
    <us-gaap:InterestCostsCapitalized
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Narr_kdcxRd-eyUKFQE8tNlGJ4A"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">18642</us-gaap:InterestCostsCapitalized>
    <us-gaap:InterestCostsCapitalized
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Narr_YVvN8I1v7UG51JDzrnODrw"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">14297</us-gaap:InterestCostsCapitalized>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_-Bu134Ndnkq3xiEU9blEMg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;11&#160;- ACCRUED 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;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Accrued expenses included the following as of:&lt;/i&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2024&lt;/b&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued compensation&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,172,262&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,257,245&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Provision for claims &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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 516,972&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 256,227&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Provision for contract losses&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 293,324&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 102,954&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued professional fees&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 458,636&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 241,195&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued project costs&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 560,428&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 440,550&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued breakup fee&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,116,800&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 144,064&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 235,014&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,262,486&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,533,185&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;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Accrued compensation includes amounts for executive bonuses, payroll and vacation and holiday pay. Provisions for estimated losses on uncompleted contracts are made in the period in which such losses are determined. Changes in the provision are recorded in cost of sales. Accrued project costs are estimates for certain project expenses during the reporting period.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Due to a change in certain conditions and events, it became probable that on March 31, 2024, the Company would not be able to close on the acquisition of Votaw Technologies (see Note 17 - &lt;i style="font-style:italic;"&gt;Subsequent Events&lt;/i&gt;), pursuant to a Stock Purchase Agreement. As such, the Company accrued $1.1 million on March 31, 2024, for the stock termination fee as set forth under the terms and conditions of the agreement.&lt;/p&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_LPX-aHbsSU24pdW-ub--ww">&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;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Accrued expenses included the following as of:&lt;/i&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2024&lt;/b&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued compensation&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,172,262&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,257,245&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Provision for claims &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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 516,972&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 256,227&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Provision for contract losses&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 293,324&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 102,954&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued professional fees&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 458,636&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 241,195&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued project costs&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 560,428&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 440,550&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued breakup fee&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,116,800&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 144,064&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 235,014&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,262,486&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,533,185&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_g0JWQK8EQkOqtBmULUJcFw_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1172262</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_veLIdupOGUWa-4Ck1wz2jw_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1257245</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_mlCWFKlgtUKkyNO5sewc1Q_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">516972</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_AJf_cP_k90-dEc9lkUoTLg_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">256227</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:ProvisionForLossOnContracts
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_cYRRP0CAEUuOdrdoZD_SRw_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">293324</us-gaap:ProvisionForLossOnContracts>
    <us-gaap:ProvisionForLossOnContracts
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_EEoIELSDzEu4p2EG9ouT1w_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">102954</us-gaap:ProvisionForLossOnContracts>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_eoqKdAOGT0SEaAlZmAlGkA_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">458636</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_9nHgHhfjrk6bIKZ5i2LqDA_5_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">241195</us-gaap:AccruedProfessionalFeesCurrent>
    <tpcs:AccruedProjectCosts
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_k0vogMTAQkWIiltJ5HfD3Q_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">560428</tpcs:AccruedProjectCosts>
    <tpcs:AccruedProjectCosts
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_v9ekxllDAU63qh_tlDNnHA_6_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">440550</tpcs:AccruedProjectCosts>
    <tpcs:AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_zemvi10z0ECb8Gw0K6KiMg_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1116800</tpcs:AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_8rkskbw2TUmXn5uHmG_nqg_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">144064</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_CD7ukjPHjUmK0eEjJ9rIkA_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">235014</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_McEohU8RDkmaOf0Dx6nX5Q_9_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4262486</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_Z1IioIETT0K1aCfCPcljkw_9_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2533185</us-gaap:AccruedLiabilitiesCurrent>
    <tpcs:AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_ogPZBdry8E6WTyOQWI5I3w"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1100000</tpcs:AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_hRJ-xUQ_MESVbE6q45J87g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;12&#160;&#x2013; DEBT&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;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:71.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Long-term debt included the following as of:&lt;/i&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2024&lt;/b&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Stadco Term Loan, at 3.79% interest, due August 2028&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,647,275&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,186,495&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Ranor Term Loan, at 6.05% interest, due December 2027&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,215,643&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,276,518&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Ranor Revolver Loan, at 7.69% interest, due August 2024&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,785,000&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 650,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total debt&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,647,918&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,113,013&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: debt issue costs unamortized&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 89,235&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 145,712&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total debt, net&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,558,683&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,967,301&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: Current portion of long-term debt&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,558,683&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,218,162&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total long-term debt, net&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,749,139&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;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Amended and Restated Loan Agreement&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"&gt;On August 25, 2021, the Company entered into an amended and restated loan agreement with Berkshire Bank, or the &#x201c;Loan Agreement&#x201d;. Under the Loan Agreement, Berkshire Bank will continue to provide the Ranor Term Loan (as defined below) and the revolving line of credit, or the Revolver Loan. In addition, Berkshire Bank provided the Stadco Term Loan (as defined below) in the original amount of $4.0 million. The proceeds of the original Ranor Term Loan of $2.85 million were previously used to refinance existing mortgage debt of Ranor. The proceeds of the Revolver Loan are used for working capital and general corporate purposes of the Company. The proceeds of the Stadco Term Loan were to be used to support the acquisition of Stadco and refinance existing indebtedness of Stadco.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Stadco Term Loan&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On August 25, 2021, Stadco borrowed $4.0&#160;million from Berkshire Bank, or the &#x201c;Stadco Term Loan&#x201d;. Interest on the Stadco Term Loan is due on unpaid balances at a fixed rate per annum equal to the&#160;7-year&#160;Federal Home Loan Bank of Boston Classic &lt;span style="-sec-ix-hidden:Hidden_H1Ocu3HIa0-swMnW6HtfhQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Advance&lt;/span&gt;&lt;/span&gt; Rate plus&#160;2.25%. Since September 25, 2021 and on the 25th day of each month thereafter, Stadco had made and will make monthly payments of principal and interest in the amount of $54,390&#160;each, with all outstanding principal and accrued interest due and payable on August 25, 2028. Interest shall be calculated based on actual days elapsed and a 360-day year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company shall pay a late charge in the amount of&#160;5% of each payment due under the Stadco Term Loan (other than the balloon payment due at maturity) which is more than ten days in arrears. In addition, from and after the date on which the Stadco Term Loan becomes due, or at Berkshire Bank&#x2019;s option, could become due and payable (whether accelerated or not), at maturity, upon default or otherwise, interest shall accrue and shall be immediately due and payable at the default rate equal to&#160;5% per annum greater than the interest rate otherwise in effect, but in no event higher than the maximum interest rate permitted by law.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Unamortized debt issue costs on March 31, 2024 and 2023 were $30,007 and $44,482, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Ranor Term Loan and Revolver Loan&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;A term loan was made to Ranor by Berkshire Bank in 2016 in the amount of $2.85 million, or the &#x201c;Ranor Term Loan&#x201d;. Payments began on January 20, 2017, and were made in monthly installments of $19,260 each, inclusive of interest at a fixed rate of 5.21% per annum, with all outstanding principal and accrued interest due and payable on the original maturity date, December 20, 2021. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Since December 20, 2021, Ranor and certain affiliates of the Company entered into four separate amendments to the Amended and Restated Loan Agreement and First Amendment to Promissory Note to extend the maturity date of the Ranor Term Loan from December 20, 2021 to December 15, 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On December 23, 2022, Ranor and certain affiliates of the Company entered into a Fifth Amendment to Amended and Restated Loan Agreement, Fifth Amendment to Promissory Note and First Amendment to Second Amended and Restated Promissory Note, or the &#x201c;Amendment&#x201d;. Effective as of December 20, 2022, the Amendment, among other things (i) extended the maturity date of the Ranor Term Loan to December 15, 2027, (ii) extended the maturity date of the Revolver Loan from December 20, 2022 to December 20, 2023, (iii) increases the interest rate on the Ranor Term Loan from 5.21% to 6.05% per annum, (iv) decreases the monthly payment on the Ranor Term Loan from $19,260 to $16,601, (v) replaces LIBOR as an option for the benchmark interest rate for the Revolver Loan with SOFR, (vi) replaces LIBOR-based interest pricing conventions with SOFR-based pricing conventions, including benchmark replacement provisions, and (vii) solely with respect to the fiscal quarter ending December 31, 2022, lowers the debt service coverage ratio from at least 1.2 to 1.0 to 1.1 to 1.0.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On December 20, 2023, Ranor and certain affiliates of the Company entered into a Sixth Amendment to Amended and Restated Loan Agreement and Second Amendment to Second Amended and Restated Promissory Note, or the &#x201c;Sixth Amendment&#x201d;.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Effective December 20, 2023, the Sixth Amendment, among other things (i) extended the maturity date of the Revolver Loan from December 20, 2023 to March 20, 2024; (ii) limited the use of proceeds from the Revolver Loan by the Company or its affiliates to $1,000,000 in the aggregate for due diligence and related professional costs incurred on or prior to March 20, 2024 in connection with any acquisitions; and (iii) makes certain changes to the amount and methods of valuation of equipment securing repayment of the borrowed funds.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On March 20, 2024, Ranor and certain affiliates of the Company entered into a Seventh Amendment to Amended and Restated Loan Agreement and Third Amendment to Second Amended and Restated Promissory Note, or the &#x201c;Seventh Amendment&#x201d;. Effective March&#160;20, 2024, the Seventh Amendment, among other things (i) extended the maturity date of the Revolver Loan from March 20, 2024 to May 20, 2024; (ii) limited the use of proceeds from the Revolver Loan by the Company or its affiliates to $2,000,000 in the aggregate for due diligence and related professional costs incurred on or prior to May 10, 2024 in connection with any acquisitions; and (iii) makes certain changes to the amount and methods of valuation of equipment securing repayment of the borrowed funds. Through May 20, 2024, Ranor utilized a revolving line of credit with, following certain modifications, a maximum principal amount available of $5.0 million. Advances under the Revolver Loan are subject to a borrowing base equal to the lesser of (a) $5.0 million or (b) the sum of (i)80% of the net outstanding amount of Base Accounts, plus (ii) the lesser of (x) 25% of Eligible Raw Material Inventory, and (y) $250,000, plus (iii) 80% of the Appraised Value of the Eligible Equipment, as such terms are defined in the Loan Agreement.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company agrees to pay to Berkshire Bank, as consideration for Berkshire Bank&#x2019;s agreement to make the Revolver Loan available, a nonrefundable Revolver Loan fee equal to 0.25% per annum (computed based on a year of 360 days and actual days elapsed) on the difference between the amount of: (a) $5.0 million, and (b) the average daily outstanding balance of the Revolver Loan during the quarterly period then ended. All Revolver Loan fees are payable quarterly in arrears on the first day of each January, April, July and October and on the Revolver Maturity Date, or upon acceleration of the Revolver Loan, if earlier. Interest-only payments on advances made under the Revolver Loan will continue to be payable monthly in arrears. Under the amended promissory note for the Revolver Loan, the Company pays interest at the Term SOFR-based rate.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On May 28, 2024, Ranor and the other Borrowers entered into an Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note with Berkshire Bank. Effective May 24, 2024, the Eighth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from May 24, 2024 to August 30, 2024; (ii) amends the maximum principal amount of the Revolver Loan from $5,000,000 to $4,500,000; and (iii) effective on June 1, 2024, increases the Term SOFR Margin (as defined in the Amendment) used to calculate the interest rate from 2.25% per annum to 2.50% per annum.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#x201c;Ninth Amendment&#x201d;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Interest payments made under the Revolver Loan for the fiscal year ended March 31, 2024 and 2023 were $171,073 and $33,156, respectively. The weighted average interest rate at March 31, 2024 and March 31, 2023 was 7.60% and 5.02%, respectively. There was $2.8 million outstanding under the Revolver Loan at March 31, 2024. Unused borrowing capacity at March 31, 2024 and 2023 was approximately $0.5 million and $4.2 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Unamortized debt issue costs at March 31, 2024 and March 31, 2023 were $59,228 and $101,230, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Berkshire Loan Covenants&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;For purposes of this discussion, Ranor and Stadco are referred to together as the &#x201c;Borrowers&#x201d;. The Ranor Term Loan, the Stadco Term Loan and the Revolver Loan, or together, the &#x201c;Berkshire Loans&#x201d;, may be accelerated upon the occurrence of an event of default as defined in the Berkshire Loan Agreement. Upon the occurrence and during the continuance of certain default events, at the option of Berkshire Bank, or automatically without notice or any other action upon the occurrence of certain other events specified in the loan agreement, the unpaid principal amount of the Loans and the Notes together with accrued interest and all other obligations owing by the Borrowers to Berkshire Bank would become immediately due and payable without presentment, demand, protest, or further notice of any kind.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company agreed to maintain compliance with certain financial covenants under the Loan Agreement. Namely, The Borrowers agree to maintain the ratio of the Cash Flow of TechPrecision to the Total Debt Service of TechPrecision of not less than 1.20 to 1.00, (except for the fiscal quarter ended December 31, 2022, in which case such ratio of Cash Flow to Total Debt Service was not to be less than 1.10 to 1.00), measured quarterly on the last day of each fiscal quarter-annual period of TechPrecision on a trailing 12-month basis, commencing with the fiscal quarter ending as of September 30, 2021. Calculations will be based on the audited (year-end) and unaudited (quarterly) consolidated financial statements of TechPrecision. Quarterly tests will be measured based on the financial statements included in the Company&#x2019;s quarterly reports on Form 10-Q within 60 days of the end of each quarter, and annual tests will be measured based on the financial statements included in the Company&#x2019;s annual reports on Form 10-K within 120 days after the end of each fiscal annual period. Cash Flow means an amount, without duplication, equal to the sum of net income of TechPrecision plus (i) interest expense, plus (ii) taxes, plus (iii) depreciation and amortization, plus (iv) stock based compensation expense taken by TechPrecision, plus (v) non-cash losses and charges and one time or non-recurring expenses at Berkshire Bank&#x2019;s discretion, less (vi) the amount of cash distributions, if any, made to shareholders or owners of TechPrecision, less (vii) cash taxes paid by the TechPrecision, all as determined in accordance with U.S. GAAP. &#x201c;Total Debt Service&#x201d; means an amount, without duplication, equal to the sum of (i) all amounts of cash interest paid on liabilities, obligations and reserves of TechPrecision paid by TechPrecision, (ii) all amounts paid by TechPrecision in connection with current maturities of long-term debt and preferred dividends, and (iii) all payments on account of capitalized leases, all as determined in accordance with U.S. GAAP.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Borrowers agree to cause their Balance Sheet Leverage to be less than or equal 2.50 to 1.00. Compliance with the foregoing shall be tested quarterly, as of the last day of each fiscal quarter of the Borrowers, commencing with the fiscal quarter ending September 30, 2021. &#x201c;Balance Sheet Leverage&#x201d; means, at any date of determination, the ratio of Borrowers&#x2019; (a) Total Liabilities, less Subordinated Debt, to (b) Net Worth, plus Subordinated Debt.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Borrowers agree that their combined annual capital expenditures shall not exceed $1.5 million. Compliance shall be tested annually, commencing with the fiscal year ending March 31, 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Borrowers agree to maintain a Loan-to-Value Ratio of not greater than 0.75 to 1.00. &#x201c;Loan-to-Value Ratio&#x201d; means the ratio of (a) the sum of the outstanding balance of the Ranor Term Loan and the Stadco Term Loan, to (b) the fair market value of the property pledged as collateral for the loan, as determined by an appraisal obtained from time to time by Berkshire Bank, but not more frequently than one time during each 365 day period (provided that Berkshire Bank may obtain an appraisal at any time after either the Ranor Term Loan or the Stadco Term Loan has been accelerated), which appraisals shall be at the expense of the Borrowers.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company was in compliance with all of the financial covenants at March 31, 2023, except for the combined capital expenditures limit, as it exceeded the capital expenditure limit of $1.5 million as defined in the agreement. On June 12, 2023, the Company and Berkshire Bank executed a waiver under which Berkshire Bank waived the Company&#x2019;s noncompliance with the capital expenditure limit on March 31, 2023. The waiver document also contains an agreement by the parties to exclude from the calculation of capital expenditures for purposes of the Loan Agreement during the year ending March 31, 2024 any such expenditures made by the Company to the extent they are made using funds provided by customers of the Company for the purpose of making such capital expenditures. For the twelve months ended March 31, 2024, approximately $2.6 million of capital expenditures were excluded from the calculation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Collateral securing all the above obligations comprises all personal and real property of the Company, including cash, accounts receivable, inventories, equipment, and financial assets. The Company&#x2019;s short-term and long-term debt is all privately held with no public market for this debt and is considered to be Level 3 under the fair value hierarchy. The carrying value of short and long-term borrowings approximates their fair value.&lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_KKP0FTZENEmRqppY2-LnXA">&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;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:71.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:71.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Long-term debt included the following as of:&lt;/i&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2024&lt;/b&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:8pt;text-align:center;margin:0pt 0pt 0.05pt 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.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Stadco Term Loan, at 3.79% interest, due August 2028&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,647,275&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,186,495&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Ranor Term Loan, at 6.05% interest, due December 2027&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,215,643&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,276,518&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Ranor Revolver Loan, at 7.69% interest, due August 2024&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,785,000&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 650,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total debt&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,647,918&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,113,013&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: debt issue costs unamortized&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 89,235&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 145,712&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total debt, net&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,558,683&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,967,301&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: Current portion of long-term debt&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,558,683&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,218,162&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total long-term debt, net&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,749,139&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_gIzQS_7GpE-BJjoDlDacvw"
      decimals="4"
      id="Narr_LWMXxsQjrU6auxblmedOhQ"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.0379</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_gIzQS_7GpE-BJjoDlDacvw"
      decimals="0"
      id="Tc_iAVucJa3fEmQzHZaKHnaJQ_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2647275</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_h_M5GE4zBkuYC8t444o79Q"
      decimals="0"
      id="Tc_w49jPnoS-ECacmtIHEXhXg_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3186495</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_hji5VqUs80GnpI8KTwQykg"
      decimals="4"
      id="Narr_bD8m3MXbmkGIblAq3xuhiw"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.0605</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_hji5VqUs80GnpI8KTwQykg"
      decimals="0"
      id="Tc_yPNRZXSEfUuLcb2hN4nkSg_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2215643</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member_FDE5OMg5CEiIOt61hbcQ4g"
      decimals="0"
      id="Tc_02tNXWkRFkuHzL_XWi3lfA_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2276518</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_hAeUcvCIy02zbi158M-6FQ"
      decimals="4"
      id="Narr_eUZM0vZEe0qlajvi9Mk37Q"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.0769</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_hAeUcvCIy02zbi158M-6FQ"
      decimals="0"
      id="Tc_NYFp6JIwgkCWEQdy2IYQpw_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2785000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorRevolverLoanAt7.69InterestDueAugust2024Member_dv9T9a4wSEOrdkoVn2z2rw"
      decimals="0"
      id="Tc_yS3wkxSuwkmUVaxQ1u6LDQ_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">650000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_Bq_5W85Lu0WZ17zBZld-bQ_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">7647918</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_bxsSJwx6okK8sXPrH9iXIg_5_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">6113013</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_Lth5iIKXrUWMFkHuaR-69A_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">89235</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_B1FA1qyJOkq3Eaz3hF1lWw_6_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">145712</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_e9QGKyfPYEiSt8zBuyfDuA_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">7558683</us-gaap:LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_E4qGpOWUnkiklFizLWk9hw_7_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5967301</us-gaap:LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_rOk8ImXWgE2ldD0A7SJn1Q_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">7558683</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_DGAmBhRZpEOlcECJ-fmEDQ_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1218162</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_zQAvgHbrkky0ziDCy05RTg_9_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4749139</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_8_25_2021_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member_h2UA2XL7JUi6lW0-TOJQVQ"
      decimals="-6"
      id="Narr_g4eXnYcTZEivdUzqlnYdiQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4000000.0</us-gaap:DebtInstrumentFaceAmount>
    <tpcs:ProceedsFromTermLoan
      contextRef="Duration_8_25_2021_To_8_25_2021_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_esWUXI2fN0WMKMhDbCxOyQ"
      decimals="-4"
      id="Narr_1pV31NIth0iWZTnNj-Xx9w"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2850000</tpcs:ProceedsFromTermLoan>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_ccSScFM26keuwqvg7uPkJA"
      decimals="-5"
      id="Narr_Utjpve8BTEepZrjX0qhUvA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4000000.0</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_8_25_2021_To_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_bf0Rjfw5KEGgs6KMDBRIBA"
      id="Narr_W72FkVUYsU2Er5Mo_xipnA">P7Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_8_25_2021_To_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_bf0Rjfw5KEGgs6KMDBRIBA"
      decimals="4"
      id="Narr_AhB15w7ePEC5cym6qzZAAQ"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="Duration_8_25_2021_To_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt3.79InterestDueAugust2028Member_bf0Rjfw5KEGgs6KMDBRIBA"
      decimals="0"
      id="Narr_afSu28SNbES-73cDNrVOCA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">54390</us-gaap:DebtInstrumentPeriodicPayment>
    <tpcs:LateChargeFeePercentage
      contextRef="As_Of_8_25_2021_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanMember_1g62SHgvQ0ia8IfOe-kTnA"
      decimals="0"
      id="Narr_MMRAgQjAZUy0Ylg0y5T5Hw"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">5</tpcs:LateChargeFeePercentage>
    <tpcs:DefaultInterestRate
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Narr_IVxnOGa370ePv0HaKGE2zQ"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">5</tpcs:DefaultInterestRate>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_fY2wuCp72k-Cyw1M2FUPaA"
      decimals="0"
      id="Narr_RLXQBLtjCEO1JgTkIbp4dA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">30007</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_StadcoTermLoanAt2.25InterestDueAugust2028Member_xHaQYaNjC0GLjsokTPYnkA"
      decimals="0"
      id="Narr_0Uz8D75w-kmD9_2jaihYBA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">44482</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_21_2016_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_CreditFacilityAxis_us-gaap_SecuredDebtMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_Pn7GfNxkZ0y_xFocEEH01g"
      decimals="-4"
      id="Narr_OL91isi1DEiCmUzJJ-kFaQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2850000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="Duration_12_1_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_SecuredDebtMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_X1gOs8rlB0yesCbZpq1Xgg"
      decimals="0"
      id="Narr_TIyBxiZybUC-padCgSmoFw"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">19260</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_SecuredDebtMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_UsVIoeDDOUqJO4J02OUofQ"
      decimals="4"
      id="Narr_A0G3SRfVOU-gjViyDJlkag"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.0521</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_12_23_2022_srt_RangeAxis_srt_MinimumMember_eQdQ3zQXGUSfJ_EhrwhU4Q"
      decimals="4"
      id="Narr_PxmD3H-Y70Kognoaw2H0qg"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.0521</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_12_23_2022_srt_RangeAxis_srt_MaximumMember_kE-WtCWnPkqoReTNzpG4KA"
      decimals="4"
      id="Narr_7NgqGR8askerq98nCY-HKQ"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.0605</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="Duration_12_23_2022_To_12_23_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_9eNpjcrprkex2xe5xboRjg"
      decimals="0"
      id="Narr_4SK1KJMdYUe2EXickYNtsg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">19260</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="Duration_12_23_2022_To_12_23_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_JXKyuTgSX0uDOS5RnkzekA"
      decimals="0"
      id="Narr_RecANgRFWk2HuRXdjfcD7A"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">16601</us-gaap:DebtInstrumentPeriodicPayment>
    <tpcs:RequiredMinimumDebtServiceCoverageRatio
      contextRef="Duration_12_30_2022_To_12_30_2022_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_pXM7qosKWkutrCSrnwF8VQ"
      decimals="1"
      id="Narr_Nvdj9n5TnUOhUKUiRydggA"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">1.2</tpcs:RequiredMinimumDebtServiceCoverageRatio>
    <tpcs:RequiredMinimumDebtServiceCoverageRatio
      contextRef="Duration_10_1_2022_To_12_31_2022_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_8GhnJhMNr0uIkvx1siuK7A"
      decimals="1"
      id="Narr_wHQK3uXABEWAl2aVxdql0A"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">1.1</tpcs:RequiredMinimumDebtServiceCoverageRatio>
    <tpcs:ProceedsFromTermLoan
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_g1USBG1K9kmpZiRkVT0X-Q"
      decimals="0"
      id="Narr_AIz72-yWF0eKFzbQ8nFlGQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1000000</tpcs:ProceedsFromTermLoan>
    <tpcs:ProceedsFromTermLoan
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_oHiMfUzd9kqTASKUNE5HkA"
      decimals="0"
      id="Narr_4SQssGDXiEOymC4AFMI4uQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2000000</tpcs:ProceedsFromTermLoan>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_-0kiYhNHB0q6EwmdEFOcFQ"
      decimals="-5"
      id="Narr_NKDe_i6Lb0u1gh2ZFTTfqQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <tpcs:MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance
      contextRef="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_Z08GjzS9H0i9IczFotrueA"
      decimals="-5"
      id="Narr_9lmMSNbr9k--O6hNK5Cw8g"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5000000.0</tpcs:MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance>
    <tpcs:DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances
      contextRef="Duration_12_21_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_8ZsazWF5dUyyfUQAik72jQ"
      decimals="2"
      id="Narr_-ERF-4M1V0O_N0YhqFj-XA"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.80</tpcs:DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances>
    <tpcs:DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances
      contextRef="Duration_12_21_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_8ZsazWF5dUyyfUQAik72jQ"
      decimals="2"
      id="Narr_92AbupPzpkGZfrKzJ775xg"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.25</tpcs:DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances>
    <tpcs:AmountIncludedInSumToCalculateMaximumBorrowingBase
      contextRef="As_Of_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_jeEI0EdHx0icxSAglAlWRA"
      decimals="0"
      id="Narr_H6BiJIK8sU-TLmPOv0dyYg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">250000</tpcs:AmountIncludedInSumToCalculateMaximumBorrowingBase>
    <tpcs:DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances
      contextRef="Duration_12_21_2016_To_12_21_2016_us-gaap_CreditFacilityAxis_us-gaap_NotesPayableOtherPayablesMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_kMiUPkmCpUSJM6hWiBAAFQ"
      decimals="2"
      id="Narr_Xr-i1YpjR0qGqwcOT_jeCA"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.80</tpcs:DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances>
    <tpcs:NonrefundableCommitmentFeePercentages
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_g1USBG1K9kmpZiRkVT0X-Q"
      decimals="4"
      id="Narr_94oy3j04TkWAEJ7H_7_9Mw"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.0025</tpcs:NonrefundableCommitmentFeePercentages>
    <tpcs:MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance
      contextRef="As_Of_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_MZO7U7o6i0q-wwSvX2GqDQ"
      decimals="-5"
      id="Narr_69zA4zW0bEOgfB0aWaoglA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5000000.0</tpcs:MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_5_23_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_MeY5ch22TEK0hgT3pohf7Q"
      decimals="0"
      id="Narr_Lh3nxjGju0eJlMsrl8AbuA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_5_24_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_oephzG9_JEGpZARH8vCLCA"
      decimals="0"
      id="Narr_eX5_SionTUiihrVXPky4Jw"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_5_31_2024_To_5_31_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_69CdOSzDkES42y072zf_4A"
      decimals="4"
      id="Narr_mz-Y0puO_0q9gE6g-u3-mg"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_6_1_2024_To_6_1_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_lB4Q0kutyUynbBGYpF9uyg"
      decimals="4"
      id="Narr_ayvi9lhdp0ulHBPILPsiMw"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.0250</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:InterestExpenseDebt
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_aCrg8sYJXUaoOhqLIjs1UA"
      decimals="0"
      id="Narr_1aW_vNoG_E6GOmgd2FWkWQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">171073</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_BlU5g3tJS0aObnTP36QrHQ"
      decimals="0"
      id="Narr_ZYLNXJdJqE6cvDPzdIwJPQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">33156</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_5UOYm-Y8-0isqbIxiXCq9A"
      decimals="4"
      id="Narr_ph3aJqSDokCVWsocOA3fXA"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.0760</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_TLa0eTgij0mkZhwwQ-oqjA"
      decimals="4"
      id="Narr_wmNJulOFw0unARv8qbhr0Q"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.0502</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:LineOfCredit
      contextRef="As_Of_3_31_2024_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_MZO7U7o6i0q-wwSvX2GqDQ"
      decimals="-5"
      id="Narr_tLg2vyImmk-WP2HNZfFfCw"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2800000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_5UOYm-Y8-0isqbIxiXCq9A"
      decimals="-5"
      id="Narr_KgSsMAlpF0GW6DP_RCaNeA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">500000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_tpcs_RanorTermLoanMember_TLa0eTgij0mkZhwwQ-oqjA"
      decimals="-5"
      id="Narr_HvsZI68YNkKTe4A7UT6j6g"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4200000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="As_Of_3_31_2024_dei_LegalEntityAxis_tpcs_RanorIncMember_dgEvgCfWP0e1Kf4eyKjU4A"
      decimals="0"
      id="Narr_3X3tZnqtI0a9b_5nXBU7HQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">59228</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="As_Of_3_31_2023_dei_LegalEntityAxis_tpcs_RanorIncMember_iMo17cTKDEqQIDgDYlD5ag"
      decimals="0"
      id="Narr_MCnmidSZiUmcBkfgKZDXvg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">101230</us-gaap:DeferredFinanceCostsGross>
    <tpcs:CashFlowRatioOfDebtService
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_gQhFrTy3ZE6ZtXa3cLcl-w"
      decimals="2"
      id="Narr_xKasgOOSG0miXLqFrVEI7g"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">1.20</tpcs:CashFlowRatioOfDebtService>
    <tpcs:CashFlowRatioOfDebtService
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_Zwk-OG94HkKtLU__1aKN2g"
      decimals="2"
      id="Narr_YGH9gBWX_EK4pRr0Gsa3dw"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">1.00</tpcs:CashFlowRatioOfDebtService>
    <tpcs:CashFlowToTotalDebtService
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_gQhFrTy3ZE6ZtXa3cLcl-w"
      decimals="2"
      id="Narr_ILcsv7mp006TOFtpQAb2_A"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">1.10</tpcs:CashFlowToTotalDebtService>
    <tpcs:CashFlowToTotalDebtService
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_Zwk-OG94HkKtLU__1aKN2g"
      decimals="2"
      id="Narr_1bYgSGFVP0CnNJz3JbUUkA"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">1.00</tpcs:CashFlowToTotalDebtService>
    <tpcs:DebtInstrumentCovenantLeverageRatioYearOne
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_gQhFrTy3ZE6ZtXa3cLcl-w"
      decimals="2"
      id="Narr_v_8MWyMLvEKxZmS0t-3MjQ"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">2.50</tpcs:DebtInstrumentCovenantLeverageRatioYearOne>
    <tpcs:DebtInstrumentCovenantLeverageRatioYearOne
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_Zwk-OG94HkKtLU__1aKN2g"
      decimals="2"
      id="Narr_Y2XGAJQUbUC9C9dBhTAF3Q"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">1.00</tpcs:DebtInstrumentCovenantLeverageRatioYearOne>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_LI1NAr_ue0eqh_TFiOiFhQ"
      decimals="-5"
      id="Narr_2STjwO0tuEKbnjieUYTv9A"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1500000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <tpcs:DebtInstrumentCovenantLoanToValueRatio
      contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_yvrHpEyhnEaFv1s9crDdxA"
      decimals="2"
      id="Narr_IwvQhazgR0-Bo9SKbF10gg"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.75</tpcs:DebtInstrumentCovenantLoanToValueRatio>
    <tpcs:DebtInstrumentCovenantLoanToValueRatio
      contextRef="As_Of_3_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_v72CklxSzUW7tTveCOHSzw"
      decimals="2"
      id="Narr_c_7Gu4amdUOUBycN6UPAaQ"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">1.00</tpcs:DebtInstrumentCovenantLoanToValueRatio>
    <tpcs:DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio
      contextRef="Duration_4_1_2023_To_3_31_2024_dei_LegalEntityAxis_tpcs_RanorIncMember_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_xvSsYUL0ikqE_UV6UpgLew"
      id="Narr_4bI0H6vsmEORK-qdGbjYug">P365D</tpcs:DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_LI1NAr_ue0eqh_TFiOiFhQ"
      decimals="-5"
      id="Narr_VpRCnKq4FUSm6qn6B4hkBQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1500000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <tpcs:CapitalExpendituresFromPurchaseOfFixedAssets
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_DebtInstrumentAxis_tpcs_BerkshireLoanMember_LI1NAr_ue0eqh_TFiOiFhQ"
      decimals="-5"
      id="Narr_l0tMrZqzZUu3cCc1dkrKvQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2600000</tpcs:CapitalExpendituresFromPurchaseOfFixedAssets>
    <us-gaap:OtherLiabilitiesDisclosureTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_jR3SXgtaz0Spzs4Jg0y5dg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;13&#160;- OTHER NONCURRENT LIABILITY&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Under an addendum to a contract purchase order, one of our customers agreed to reimburse the Company for the cost of certain new equipment. Payments are received as the Company&#x2019;s incurs construction costs. We received the first payment in January 2022, with additional payments received during fiscal 2023 and 2024. In case of a contract breach, at the time of the breach, the customer may claw back the funds based on a prorated ten-year straight-line annual declining balance recovery period. This liability amount was included in the Company&#x2019;s consolidated balance sheets as a noncurrent liability as of March 31, 2024 and 2023 for $3.5 million and $1.2 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Stadco entered into the Payment Agreement with the LADWP to settle previously outstanding amounts for water, water service, electric energy and/or electric service in the aggregate amount of $1,770,201 that were delinquent and unpaid. Under the Payment Agreement, Stadco will make monthly installment payments on the unpaid balance beginning on December 15, 2022, in an aggregate amount of &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;$18,439 per month until the earlier of November 15, 2030, or the amount due is paid in full. Late payments under the Payment Agreement accrue a late payment charge equal to an 18% annual rate on the unpaid balance. This liability amount was included in the Company&#x2019;s balance sheet as a current and noncurrent liability as of March 31, 2024 and March 31, 2023 for $0.2 million and $1.3 million, and $0.2 million, and $1.5 million, respectively.&lt;/p&gt;</us-gaap:OtherLiabilitiesDisclosureTextBlock>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_j2J-w6KTkUSU-2DXQZkZbA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3500000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="-5"
      id="Narr_G-OQN1HXCkOW0EvS02qFTA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1200000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService
      contextRef="As_Of_3_31_2024_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_VDwqQdIZJke8qwTwxeUXJQ"
      decimals="0"
      id="Narr_i0tcxAweP0Oq8plEIHYTGQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1770201</tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService>
    <tpcs:PaymentArrangementAgreementMonthlyInstalmentsPayable
      contextRef="As_Of_3_31_2024_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_VDwqQdIZJke8qwTwxeUXJQ"
      decimals="0"
      id="Narr_gkp_z7ub10-YIBYErxQMdQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">18439</tpcs:PaymentArrangementAgreementMonthlyInstalmentsPayable>
    <tpcs:PaymentArrangementAgreementAnnualLatePaymentChargePercentage
      contextRef="As_Of_3_31_2024_us-gaap_TypeOfArrangementAxis_tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember_VDwqQdIZJke8qwTwxeUXJQ"
      decimals="0"
      id="Narr_YFWtGJXwe0-z2yPHHy55Sg"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">18</tpcs:PaymentArrangementAgreementAnnualLatePaymentChargePercentage>
    <tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_0WP3BPNZUUGSkS3grctETQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">200000</tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent>
    <tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_WKPEOA90bkCDiVC5InmfRQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1300000</tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent>
    <tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="-5"
      id="Narr_RObym2pGTUmEeUOrCRpHTA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">200000</tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent>
    <tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="-5"
      id="Narr_o8xEdMIjBEqmCzw07i0vMg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1500000</tpcs:AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent>
    <tpcs:LeaseOfLesseeDisclosureTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_4Tmf53Ndg0Ski9EfbsITNw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;14&#160;&#x2013; LEASES&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On August 25, 2021, Stadco became party to an amended building and property operating lease and recorded a right of use asset and liability of $6.6&#160;million. Monthly base rent for the property is $82,998&#160;per month. The term of the lease will expire on June 30, 2030, and the lessee has no right of renewal beyond the expiration date. The lease contains customary default provisions allowing the landlord to terminate the lease if the lessee fails to remedy a breach of its obligations under the lease within the period specified in the lease, or upon certain events of bankruptcy or seizure or attachment of the lessee&#x2019;s assets or interest in the lease. The lease also contains other customary provisions for real property leases of this type.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The following table lists our right-of-use assets and liabilities on our consolidated balance sheets at:&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;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:65.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span 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:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-style:italic;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Finance lease:&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Right of use asset &#x2013; operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,629,396&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,629,396&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Right of use asset &#x2013; finance leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,016&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,016&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,716,747)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,033,474)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Right of use asset, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,977,665&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,660,938&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lease liability &#x2013; operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,124,823&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,819,365&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lease liability &#x2013; finance leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,151&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,336&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total lease liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,143,974&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,855,701&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;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;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Other supplemental information regarding our leases is contained in the following tables:&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;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:65.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span 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:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Components of lease expense for the year ended:&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Operating lease amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 668,058&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 638,732&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Finance lease amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,215&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,829&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Finance lease interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 834&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,536&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;margin:0pt;"&gt;&lt;span style="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:66.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:66.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Weighted average lease term and discount rate at:&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lease term (years) &#x2013; operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:66.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lease term (years) &#x2013; finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.00&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.75&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:66.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lease rate &#x2013; operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lease rate &#x2013; finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&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;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;margin:0pt;"&gt;&lt;span style="font-size:1pt;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:65.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span 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:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Supplemental cash flow information related to leases for the year ended:&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cash used in operating activities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 938,801&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 851,806&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cash used in financing activities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,572&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;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;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Maturities of lease liabilities at March 31, 2024 for the next five years and thereafter:&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;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:83.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:83.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 948,701&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 948,701&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 938,801&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 938,801&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 938,801&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,095,270&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,809,075&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 665,101&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,143,974&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;font-weight:bold;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</tpcs:LeaseOfLesseeDisclosureTextBlock>
    <tpcs:OtherLeaseAssetsAndLeaseLiabilities
      contextRef="As_Of_8_25_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_TqyME9GNOU2TVQyxoAb8xQ"
      decimals="-5"
      id="Narr_1OJUdGt3D0uihvBa1I7muQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">6600000</tpcs:OtherLeaseAssetsAndLeaseLiabilities>
    <tpcs:LesseeFinanceLeaseMonthlyPayments
      contextRef="Duration_8_25_2021_To_8_25_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_dL5bww8fPUm5u_k8klBN5A"
      decimals="0"
      id="Narr_AyA-UTerbUi0U1HYxr6EXg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">82998</tpcs:LesseeFinanceLeaseMonthlyPayments>
    <tpcs:ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_ENr_dzWgjEeEaLpkEkHdwg">&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;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:65.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span 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:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-style:italic;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Finance lease:&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Right of use asset &#x2013; operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,629,396&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,629,396&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Right of use asset &#x2013; finance leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,016&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,016&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,716,747)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,033,474)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Right of use asset, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,977,665&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,660,938&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lease liability &#x2013; operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,124,823&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,819,365&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lease liability &#x2013; finance leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,151&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,336&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total lease liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,143,974&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,855,701&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</tpcs:ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A"
      decimals="0"
      id="Tc_kDST-aMv60WlfDzRtMzqdQ_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">6629396</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA"
      decimals="0"
      id="Tc_uCztnF8hak25CZJqGCFBXg_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">6629396</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A"
      decimals="0"
      id="Tc_B9s-oLqT6U2SkitUq6yi3w_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">65016</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA"
      decimals="0"
      id="Tc_3IoezlJVs06UzFmFO8eDUA_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">65016</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization
      contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A"
      decimals="0"
      id="Tc_uzqMlfEnnke4PGKf2GRuyg_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1716747</us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization
      contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA"
      decimals="0"
      id="Tc_MgmXQ1_IIk6tErK1l5S-QA_5_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1033474</us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization>
    <tpcs:RightOfUseAsset
      contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A"
      decimals="0"
      id="Tc_5MDxv8wJKEKbqlSf4HeT3w_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">4977665</tpcs:RightOfUseAsset>
    <tpcs:RightOfUseAsset
      contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA"
      decimals="0"
      id="Tc_InWyaZT3J0Ks-fQF8Mk7dA_6_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5660938</tpcs:RightOfUseAsset>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A"
      decimals="0"
      id="Tc_p1icu2tZM0aRuxcjQQrsmA_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5124823</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA"
      decimals="0"
      id="Tc_5s50y34oTkOb5A3IIF_QBw_7_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5819365</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A"
      decimals="0"
      id="Tc_Mk4x1oFxlUCF0ZjV9eouSg_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">19151</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA"
      decimals="0"
      id="Tc_TGvFfhKXAUWc9YhYZ0RJaw_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">36336</us-gaap:FinanceLeaseLiability>
    <tpcs:LeaseLiability
      contextRef="As_Of_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_JzrgE9Hce0i0foQY7luD-A"
      decimals="0"
      id="Tc_aSOlwaUR7EKVvui7DaK3mQ_9_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5143974</tpcs:LeaseLiability>
    <tpcs:LeaseLiability
      contextRef="As_Of_3_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_SEwL7PzLUEWhexwCLaaUcA"
      decimals="0"
      id="Tc_pI_DufrZHE6CUXZq1rALDQ_9_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5855701</tpcs:LeaseLiability>
    <tpcs:ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_JGcpExTrM06q6WrGVLf8Lw">&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;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:65.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span 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:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Components of lease expense for the year ended:&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Operating lease amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 668,058&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 638,732&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Finance lease amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,215&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,829&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Finance lease interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 834&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,536&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;margin:0pt;"&gt;&lt;span style="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:66.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:66.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Weighted average lease term and discount rate at:&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lease term (years) &#x2013; operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:66.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lease term (years) &#x2013; finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.00&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.75&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:66.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lease rate &#x2013; operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lease rate &#x2013; finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</tpcs:ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_hjsPwwUVREm8bRwXS3EyEA_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">668058</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_zuZBFEt9P0S1hfpshBl28g_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">638732</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc__DjiVVfBykyF-TPmCFa5cQ_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">15215</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_m5-cEVERsEq2RrtJ1vIGMw_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">20829</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_HtN1uspRCUqsg3ttQttpzw_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">834</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_JX9x6sVs7kKWLG_bYUosFw_4_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1536</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      id="Tc_lzwx8KmANEyw_Q3Sn6XWIw_2_2">P6Y3M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      id="Tc_gP_zxnozmkGWRTs_iFZiEg_2_4">P7Y3M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      id="Tc_TCFkZxueEkmQTMKmKHo3XQ_3_2">P2Y</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      id="Tc_wYxXz2X9xEOKUyVF0PdUWg_3_4">P0Y9M</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="3"
      id="Tc_kZ_cY9XF4ECVsyQAUtOSWA_4_2"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.045</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="3"
      id="Tc_neV3MzkpWEyesaBKc87csw_4_4"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.045</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="3"
      id="Tc_uVExNF6zw0ipFmEodKVi4g_5_2"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.032</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="3"
      id="Tc_dyXKqCqqpUy8yMWVFAS-gw_5_4"
      unitRef="Unit_Standard_pure_kC69Z1fZyUa8h0ChUTD9XA">0.045</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <tpcs:ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_QGaFpC9qT0G0DjvpnZx_ig">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;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:65.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"&gt;&lt;span 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:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Supplemental cash flow information related to leases for the year ended:&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#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:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cash used in operating activities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 938,801&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 851,806&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cash used in financing activities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,572&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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</tpcs:ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_b--xi6vsg0ut5Y1Nd6FumA_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">938801</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_yhk_uV8xL0-uT_f60a42sA_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">851806</us-gaap:OperatingLeasePayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_3YfRhk7Zw0mubfPzD_5bVA_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">17185</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_i0j8qV40SU6uNRN5bCARhQ_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">36572</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_9ll1X_DCGECY6A2wp2pBPA">&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;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:83.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span 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:83.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 948,701&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 948,701&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 938,801&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 938,801&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 938,801&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,095,270&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,809,075&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 665,101&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,143,974&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;font-weight:bold;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_iey20I9VMUSzb753BK3t8w_1_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">948701</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_lVhfFBklDke6uKhVm85kkA_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">948701</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_EtWUoSOKz0GFQD1u4HoNHA_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">938801</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_rM2jNGhXl027Q005zRgNdA_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">938801</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc__oPqYWJ7W0elMfv83AVPQw_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">938801</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_LnZ5gmeZi0uOTYdCBnQNDw_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1095270</us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_cFKRFI7J1kOoWiHxWMi3DA_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5809075</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <tpcs:FinanceLeaseLiabilityImputedInterest
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_3VChe1MNj0O8H-NF1MguYw_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-665101</tpcs:FinanceLeaseLiabilityImputedInterest>
    <tpcs:FinanceLeaseLiabilities
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_5j70YCrRqUSX-vwA03oN3g_9_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5143974</tpcs:FinanceLeaseLiabilities>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_4AHcKkH7oUutUDLMZNy4HA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;15&#160;&#x2013; COMMITMENTS AND CONTINGENCIES&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Employment Agreements&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;We have employment agreements with each of our executive officers. Such agreements provide for minimum salary levels, adjusted annually, and incentive bonuses that are payable if specified company goals are attained. The aggregate commitment at March 31, 2024 for future executive salaries was approximately $0.6 million. The aggregate commitment at March 31, 2024 was approximately $1.0 million for accrued payroll, vacation and holiday pay for the remainder of our employees.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Purchase Commitments&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;As of March&#160;31, 2024, we had approximately $5.8&#160;million in purchase obligations outstanding, which primarily consisted of contractual commitments to purchase new materials and supplies.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Retirement Benefits&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Ranor has a defined contribution and savings plan that covers substantially all Ranor employees who have completed 90 days of service. Ranor retains the option to match employee contributions. The Company contributed $86,026 and $84,889 for the&#160;years ended March&#160;31, 2024 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Legal Proceeding&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;On October 30, 2023, a former employee filed suit against Stadco asserting individual wage and hour claims, claims for age and disability discrimination under California law, and a collective action on behalf of all non-exempt Stadco employees pursuant to the California Private Attorneys General Act of 2004 (&#x201c;PAGA&#x201d;) [Cal. Lab. Code, ss. 2698, et seq.], to impose civil penalties for certain violations of the California Labor Code. Stadco has retained outside legal counsel to defend this action. The case has been stayed and was resolved in principle at mediation on June 26, 2024. The PAGA settlement must be approved at a court hearing at a future date that has not been determined. The former employee&#x2019;s individual claims were also resolved at mediation, and final settlement payment on the individual claims was due and paid in August, 2024.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <tpcs:EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_VZI8wq4k1kSzKESt87-pOg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">600000</tpcs:EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear>
    <tpcs:EmployeeAgreementAnnualCommitmentForVacationAndHoliday
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_lSR4H9EKQku9shmIxK-_QQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1000000.0</tpcs:EmployeeAgreementAnnualCommitmentForVacationAndHoliday>
    <us-gaap:PurchaseObligation
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_Xil0BYxGqU-bbkxqPsfxyg"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5800000</us-gaap:PurchaseObligation>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Narr_b667lbYbSU2s2OkottwqEQ"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">86026</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Narr_Nj-Dn18nr0Sk12F5Z-jw5w"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">84889</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_fUv2kG0NdUGXxr1rv8b2fg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;NOTE&#160;16&#160;&#x2013; SEGMENT INFORMATION&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company has two wholly owned subsidiaries, Ranor and Stadco that are each reportable segments. The accounting policies of the segments are the same as those described in the summary of significant accounting policies. All the Company&#x2019;s operations, assets, and customers are located in the U.S.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Each reportable segment focuses on the manufacture and assembly of specific components, primarily for defense, aerospace and other industrial customers. However, both segments have separate operating, engineering, and sales teams. The Chief Operating Decision Maker, or CODM, evaluates the performance of our segments based upon, among other things, segment net sales and operating profit. Segment operating profit excludes general corporate costs. Corporate costs include executive and director compensation, stock-based compensation, and other corporate and administrative expenses not allocated to the segments. The segment operating profit metric is what the CODM uses in evaluating our results of operations and the financial measure that provides insight into our overall performance and financial position. The following table provides summarized financial information for our segments:&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;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:70.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span 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:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ranor&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,820,542&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,181,539&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Stadco&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,567,287&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,250,075&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Eliminate intersegment revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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;text-align:right;margin:0pt;"&gt; (796,770)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;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:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Net sales from external customers&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,591,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,431,614&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ranor operating income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,070,440&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,328,186&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Stadco operating loss&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,981,316)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,905,324)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Corporate and unallocated &lt;i style="font-style:italic;"&gt;(1)&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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;margin:0pt;"&gt;&lt;span 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.15%;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;text-align:right;margin:0pt;"&gt; (5,721,324)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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;margin:0pt;"&gt;&lt;span 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.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;text-align:right;margin:0pt;"&gt; (2,528,082)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Operating loss &lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,632,200)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,105,220)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Interest expense, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (521,108)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (355,608)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Refundable employee retention tax credits&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;--&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 636,564&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,363&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,842&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Consolidated loss before income taxes&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,109,945)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (783,422)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Assets&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ranor&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,972,805&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,350,905&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Stadco&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,420,276&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,817,425&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Corporate and unallocated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 353,614&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,039,411&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Totals&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,746,695&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,207,741&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Depreciation and amortization&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ranor&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 700,499&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 523,683&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Stadco&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,728,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,693,789&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Totals&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,429,377&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,217,472&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Capital expenditures&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ranor&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,197,668&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,599,966&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Stadco&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,569&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 725,335&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Totals&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,230,237&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,325,301&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;(1) Corporate general costs include executive and director compensation, and other corporate administrative expenses not allocated to the segments.&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Prior period segment data is restated to reflect changes in corporate and administrative expenses not allocated to the segments.&lt;/i&gt;&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="INF"
      id="Narr_SoD5RBIQYU2_HlsF-DCokA"
      unitRef="Unit_Standard_item_oi67NW31uUCizwhUbF89_w">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_iOQYerjeT0-PRczdWNF1jQ">&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;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:70.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;margin:0pt;"&gt;&lt;span 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:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ranor&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,820,542&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,181,539&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Stadco&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,567,287&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,250,075&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Eliminate intersegment revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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;text-align:right;margin:0pt;"&gt; (796,770)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;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:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Net sales from external customers&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,591,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,431,614&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ranor operating income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,070,440&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,328,186&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Stadco operating loss&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,981,316)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,905,324)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Corporate and unallocated &lt;i style="font-style:italic;"&gt;(1)&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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;margin:0pt;"&gt;&lt;span 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.15%;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;text-align:right;margin:0pt;"&gt; (5,721,324)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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;margin:0pt;"&gt;&lt;span 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.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;text-align:right;margin:0pt;"&gt; (2,528,082)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Operating loss &lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,632,200)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,105,220)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Interest expense, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (521,108)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (355,608)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Refundable employee retention tax credits&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;--&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 636,564&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,363&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,842&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Consolidated loss before income taxes&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,109,945)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (783,422)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Assets&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ranor&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,972,805&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,350,905&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Stadco&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,420,276&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,817,425&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Corporate and unallocated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 353,614&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,039,411&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Totals&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,746,695&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,207,741&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Depreciation and amortization&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ranor&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 700,499&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 523,683&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Stadco&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,728,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,693,789&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Totals&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,429,377&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,217,472&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Capital expenditures&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ranor&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,197,668&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,599,966&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Stadco&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,569&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 725,335&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Totals&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,230,237&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,325,301&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;(1) Corporate general costs include executive and director compensation, and other corporate administrative expenses not allocated to the segments.&lt;/i&gt;&lt;/p&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_cYSNVMDVrkGWyIaqwI0jkA"
      decimals="0"
      id="Tc_YeZiQjN_EEaSOarTic1F-A_2_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">17820542</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_cSdJIs7yrUWi6LWvlZ3_Ng"
      decimals="0"
      id="Tc_TJFbm4KZR0uiIOhySAboQQ_2_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">19181539</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember__SeFpt5xTE6k1SvzMcIc1g"
      decimals="0"
      id="Tc_rFGr4LZWUkaKF4ivN-odzw_3_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">14567287</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_zOH2RRSEDUSuPxiahVN8KA"
      decimals="0"
      id="Tc_cfbyk5IrtE-K1gxdbx5pZA_3_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">12250075</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_qsb6TwyG4EKxIcR07SYe3Q"
      decimals="0"
      id="Tc_QNEna6ZVSUKMYzbiUd-hjQ_4_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-796770</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_yvwk9jV5oEWgOFebotBMmQ_5_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">31591059</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_175FhEd0s0SZvSSfdQAEGA_5_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">31431614</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_cYSNVMDVrkGWyIaqwI0jkA"
      decimals="0"
      id="Tc_WjEkIh8gBUWp7p-SnOmNOw_6_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3070440</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_cSdJIs7yrUWi6LWvlZ3_Ng"
      decimals="0"
      id="Tc_0nba7TaJ5UmJoKSRCcvQvw_6_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">5328186</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember__SeFpt5xTE6k1SvzMcIc1g"
      decimals="0"
      id="Tc_5coyJM9RUkiPwBF9vHR6sQ_7_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-1981316</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_zOH2RRSEDUSuPxiahVN8KA"
      decimals="0"
      id="Tc_NpYpYDF10kmWIbgszzfX5g_7_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-3905324</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_4_1_2023_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember__P3LfmwPSESYNR2WGYya9A"
      decimals="0"
      id="Tc_O_pxs0OO0kuuLbmpisRt3A_8_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-5721324</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_4_1_2022_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_fb8m3jAKSU2sbVjIg4UGRw"
      decimals="0"
      id="Tc_5k7Te89gN06MF8gX7x4JHQ_8_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-2528082</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_w5Klid6huEe_l_-wFPVhVQ_9_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-4632200</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_nF12l5Uv70eIN5EqqcNo3Q_9_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-1105220</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpenseNonoperating
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_PEKwaINYg0-iOl3dGxzC8A_10_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">521108</us-gaap:InterestExpenseNonoperating>
    <us-gaap:InterestExpenseNonoperating
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_bsM2HNnJW0-P2xqYNK5d3Q_10_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">355608</us-gaap:InterestExpenseNonoperating>
    <tpcs:EmployeeRetentionCreditRefund
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_Q_48QTBm00O1itTeCJA88g_11_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">636564</tpcs:EmployeeRetentionCreditRefund>
    <tpcs:OtherIncomeAndExpense
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_8BqQFLn6eEirgp1d44m8lA_12_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">43363</tpcs:OtherIncomeAndExpense>
    <tpcs:OtherIncomeAndExpense
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_Hz9wrA4wekOmLiMGq5Skmg_12_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">40842</tpcs:OtherIncomeAndExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_BRGKigAV_ky5TlwOXWia2w_13_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-5109945</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_ZtRNu9f1eEmeT2w0j4JKuw_13_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">-783422</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_U8gUjmfvEUmrLoZxSVLNjg"
      decimals="0"
      id="Tc_Z244CG_vC0ev1lFHJoQudg_15_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">11972805</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_WqXOndtMdUi9s3aZRXQCJw"
      decimals="0"
      id="Tc_VdrSRg1dxkqLao6EnPM_wA_15_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">11350905</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_hAnMRmfRzESD37lh8ef_bA"
      decimals="0"
      id="Tc_mz_z25lKzk61QUsP1UPBpA_16_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">22420276</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_uGePGeSlw0Gy9lhf9NBi6g"
      decimals="0"
      id="Tc_0RwVXT9wCE-dxBRDy7Zoig_16_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">23817425</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_mpM5EootnEGF9WEVM6YG6A"
      decimals="0"
      id="Tc_SaoIVqkkF0-ZGQBjW4iUXQ_17_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">353614</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_pWniNexCs0e831MRWTuxWg"
      decimals="0"
      id="Tc_SDzeMKWnDUeBSBgmYTjjQg_17_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1039411</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="0"
      id="Tc_elzfm0enTUWdGzwrZfnC3Q_18_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">34746695</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2023_fWcLtYW9y0KXe-oobB_Ezw"
      decimals="0"
      id="Tc_sH4gxDIIDUWLLNDozSLlHQ_18_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">36207741</us-gaap:Assets>
    <us-gaap:DepreciationAndAmortization
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_eqbGpv8USkurAzyL5l7Hpg"
      decimals="0"
      id="Tc_3BX8Nxmk4UyBQ5Fo6LL7MA_20_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">700499</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_Cbmu2dDwBESGXYMmAdTdBA"
      decimals="0"
      id="Tc_j-tKmw7gsE-D7jqGtkvojg_20_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">523683</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_nmcMgqINEUCdIEPVcAWGbg"
      decimals="0"
      id="Tc_2fONO2Fn7kC7p78zB5V5nw_21_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1728878</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_6e1V3cqNpUizJjHhzW-iXg"
      decimals="0"
      id="Tc_Ftp-jToSwEaKRhgqiq-oFw_21_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1693789</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_3s_myzwdl0yOFTlOTxFJJA_22_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2429377</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_i02Kk-dLk0KQe7l1GiPeiA_22_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2217472</us-gaap:DepreciationAndAmortization>
    <tpcs:CapitalExpendituresFromPurchaseOfFixedAssets
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_eqbGpv8USkurAzyL5l7Hpg"
      decimals="0"
      id="Tc__6ijjIuRx0KXTKzesIoHQQ_24_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3197668</tpcs:CapitalExpendituresFromPurchaseOfFixedAssets>
    <tpcs:CapitalExpendituresFromPurchaseOfFixedAssets
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_tpcs_RanorIncMember_Cbmu2dDwBESGXYMmAdTdBA"
      decimals="0"
      id="Tc_O0F0Em9J6Uqtm4XYiMCMwQ_24_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1599966</tpcs:CapitalExpendituresFromPurchaseOfFixedAssets>
    <tpcs:CapitalExpendituresFromPurchaseOfFixedAssets
      contextRef="Duration_4_1_2023_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_nmcMgqINEUCdIEPVcAWGbg"
      decimals="0"
      id="Tc_5W8D4xreSE2gLNqLSgcgUA_25_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">32569</tpcs:CapitalExpendituresFromPurchaseOfFixedAssets>
    <tpcs:CapitalExpendituresFromPurchaseOfFixedAssets
      contextRef="Duration_4_1_2022_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_tpcs_StadcoAcquisitionLlcMember_6e1V3cqNpUizJjHhzW-iXg"
      decimals="0"
      id="Tc_84cLOC7nz02wEITF-orhRw_25_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">725335</tpcs:CapitalExpendituresFromPurchaseOfFixedAssets>
    <tpcs:CapitalExpendituresFromPurchaseOfFixedAssets
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      decimals="0"
      id="Tc_S-LETpXzikWYvFilejTQOQ_26_3"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">3230237</tpcs:CapitalExpendituresFromPurchaseOfFixedAssets>
    <tpcs:CapitalExpendituresFromPurchaseOfFixedAssets
      contextRef="Duration_4_1_2022_To_3_31_2023_KUHDX3rsyUqBVLeDNrmePQ"
      decimals="0"
      id="Tc_y1QauIGWT028PAIRA2qDJg_26_6"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2325301</tpcs:CapitalExpendituresFromPurchaseOfFixedAssets>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="Duration_4_1_2023_To_3_31_2024_PeAZDiOjUEGG4-HNhHD2ww"
      id="Tb_Y8YJ-B5Uq0W46kvGqoaG1w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;NOTE 17 &#x2013; SUBSEQUENT EVENTS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Termination of the Votaw Acquisition &lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On November 22, 2023 we entered into a Stock Purchase Agreement (the &#x201c;Purchase Agreement&#x201d;) with Doerfer Corporation (the &#x201c;Seller&#x201d;), pursuant to which, we would acquire all of the issued and outstanding common stock of Votaw Precision Technologies, Inc. (&#x201c;Votaw&#x201d;), and after giving effect to such purchase, Votaw was to become a wholly owned subsidiary of the Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Due to a change in certain conditions and events, it became probable that on March 31, 2024, the Company would be unable to close on the acquisition, and we accrued $1.1 million for a termination fee (see Note 11, &lt;i style="font-style:italic;"&gt;Accrued Expenses&lt;/i&gt;). On April 2, 2024, the Seller delivered to us written notice of its election to terminate the Purchase Agreement under Section 7.01(f) effective immediately. Pursuant to Section 7.01(f) of the Purchase Agreement, in the event that the Closing (as defined in the Purchase Agreement) had not occurred by the Outside Date (March 31, 2024, as defined in the Purchase Agreement) either the Company or the Seller had the right to terminate the Purchase Agreement, subject to the party terminating having complied with the other required closing conditions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Since the Seller validly terminated the Purchase Agreement pursuant to Section 7.01(f) therein, the Company was required to pay to the Seller a termination fee, as the Seller&#x2019;s exclusive remedy, consisting of 320,000 shares of the Company&#x2019;s common stock issued into the name of the Seller (the &#x201c;Stock Termination Fee&#x201d;) (see Note 11, &lt;i style="font-style:italic;"&gt;Accrued Expenses&lt;/i&gt;). The Purchase Agreement includes a provision that the Stock Termination Fee is increased by 48,000 additional shares of the Company&#x2019;s common stock under certain circumstances, including if the Company fails to use commercially reasonable efforts to cause a registration statement to effect the resale of the shares composing the Stock Termination Fee to become effective as soon as practicable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On April 29, 2024, we issued 320,000 shares of the Company&#x2019;s common stock as the Stock Termination Fee.On May 2, 2024, the Company filed a registration statement on Form S-1, related to the offer and resale by the Seller of up to 320,000 shares of our common stock that were issued to the Seller as the Stock Termination Fee, which cannot be declared effective by the Securities and Exchange Commission until we have filed all of the required financial statements, including our Quarterly Report on Form 10-Q for the fiscal quarter ended June 30, 2024,&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Amendment to Amended and Restated Loan Agreement and Promissory Note&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On May 28, 2024, the Company entered into an Eighth Amendment to Amended and Restated Loan Agreement and Fourth Amendment to Second Amended and Restated Promissory Note with Berkshire Bank. Effective May 24, 2024, among other things extended the maturity date of the Revolver Loan from May 24, 2024 to August 30, 2024.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On September 4, 2024, Ranor and the other Borrowers entered into a Ninth Amendment to Amended and Restated Loan Agreement and Fifth Amendment to Second Amended and Restated Promissory Note, or the &#x201c;Ninth Amendment&#x201d;, with Berkshire Bank. Effective August 30, 2024, the Ninth Amendment, among other things, (i) extends the maturity date of the Revolver Loan from August 30, 2024 to January 15, 2025. (see Note 12 - &lt;i style="font-style:italic;"&gt;Debt).&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Private Placement of Common Stock and Warrants&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On July 3, 2024, the Company entered into a Securities Purchase Agreement, or the &#x201c;Purchase Agreement&#x201d;, with certain accredited investors, or the &#x201c;Purchasers&#x201d;, pursuant to which the Company agreed to sell in a private placement at an aggregate purchase price of approximately $2.3 million (see Note 2 &#x2013; &lt;i style="font-style:italic;"&gt;Basis of Presentation and Significant Accounting Policies&lt;/i&gt;).&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <tpcs:AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent
      contextRef="As_Of_3_31_2024_QymCZyPHR0GCITZVnP2ArA"
      decimals="-5"
      id="Narr_IqU44d_mgk-vxIbz4GHxsw"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">1100000</tpcs:AccruedBreakupFeeRelatedToTerminatedAcquisitionEvent>
    <tpcs:StockIssuedDuringPeriodSharesStockTerminationFee
      contextRef="Duration_4_2_2024_To_4_2_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_fZRErHmOsEe4i1TFw36Aag"
      decimals="INF"
      id="Narr_2ucwlIFloEWxUdtSnR2S5g"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">320000</tpcs:StockIssuedDuringPeriodSharesStockTerminationFee>
    <tpcs:StockIssuedDuringPeriodAdditionalSharesStockTerminationFee
      contextRef="Duration_4_2_2024_To_4_2_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_fZRErHmOsEe4i1TFw36Aag"
      decimals="INF"
      id="Narr_d0_I9CFio0GfEOtpGIApKw"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">48000</tpcs:StockIssuedDuringPeriodAdditionalSharesStockTerminationFee>
    <tpcs:StockIssuedDuringPeriodSharesStockTerminationFee
      contextRef="Duration_4_29_2024_To_4_29_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_Q-JdCBMx2kWTlx8wtXwsVg"
      decimals="INF"
      id="Narr_89nFF2_AuEiWIVs9O-oFQw"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">320000</tpcs:StockIssuedDuringPeriodSharesStockTerminationFee>
    <tpcs:StockIssuedDuringPeriodAdditionalSharesStockTerminationFee
      contextRef="Duration_5_2_2024_To_5_2_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_fXK-mD-3B0mp9tLc01Y33A"
      decimals="INF"
      id="Narr_O_sO5lOB6UyCZ26HWflcDw"
      unitRef="Unit_Standard_shares_4cRuGr97oU275g8mckU5ZA">320000</tpcs:StockIssuedDuringPeriodAdditionalSharesStockTerminationFee>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="Duration_7_3_2024_To_7_3_2024_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_ZGcMv0h32UK2IQw9D1ABfw"
      decimals="-5"
      id="Narr_dwi5Oq3XpEir2v5EyCV2EA"
      unitRef="Unit_Standard_USD_KuHf3kzNhEuHp3gUMCBsoQ">2300000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <ecd:NonRule10b51ArrAdoptedFlag
      contextRef="Duration_1_1_2024_To_3_31_2024_Edx8lG7umEyWFpd0LZSf2g"
      id="Narr_UJ0hbqNpvk25_cBy3Qen4w">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrAdoptedFlag
      contextRef="Duration_1_1_2024_To_3_31_2024_Edx8lG7umEyWFpd0LZSf2g"
      id="Narr_6X-KZ2FL5Uu01PNwTa9vMg">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrTrmntdFlag
      contextRef="Duration_1_1_2024_To_3_31_2024_Edx8lG7umEyWFpd0LZSf2g"
      id="Narr_bD2LnT52l0u0tN8rFk6HUQ">false</ecd:NonRule10b51ArrTrmntdFlag>
    <ecd:Rule10b51ArrTrmntdFlag
      contextRef="Duration_1_1_2024_To_3_31_2024_Edx8lG7umEyWFpd0LZSf2g"
      id="Narr_aRfss1emP0uScipYVprZpw">false</ecd:Rule10b51ArrTrmntdFlag>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
